java - 无法将Integer转换为int

时间:2014-11-24 07:33:40

标签: java

我长期坚持这个问题。基本上我不能将Integer转换为int。

class CheckOdd implements Check<Integer>
{
  public <Integer> boolean check(Integer num)
  {
    int i = (Integer) num;
    return (i % 2 != 0);
  }
}

我尝试过使用
int i = (Integer) object; int i = (int) object; intValue()
但仍然没有运气。如果我使用int i = (Integer) object;,则会生成error:incompatible types。 如果我使用int i = (int) object;,则会生成error: inconvertible types

请帮助。先感谢您。

2 个答案:

答案 0 :(得分:9)

您已使用名为java.lang.Integer的通用类型替换Integer

public <Integer> boolean check(Integer num) // <-- not a java.lang.Integer

应该是

public boolean check(Integer num)

答案 1 :(得分:2)

支持java 1.5 Autoboxing之后。所以你可以使用

int i = num;