2013-04-07 29 views
5

我是新来的java和我一直在这个练习一段时间,但不断地收到错误:int不能被解除引用。我看到了几个类似的问题,但仍然无法弄清我自己的情况。 下面是完整的代码:新来的Java和有错误“int不能被取消”

package inclass; 

class OneInt { 
    int n; 

    OneInt(int n) { 
    this.n = n; 
    } 

    @Override public boolean equals(Object that) { 
    if (that instanceof OneInt) { 
     OneInt thatInt = (OneInt) that; 
     return n.equals(thatInt.n); // error happens here 
    } else { 
     return false; 
    } 
    } 

    public static void main(String[] args) { 
    Object c = new OneInt(9); 
    Object c2 = new OneInt(9); 
    System.out.println(c.equals(c2)); 
    System.out.println(c.equals("doesn't work")); 
    } 
} 

非常感谢你帮我这个小麻烦。

回答

7

equals是一类的方法。 int是一个原始的,而不是一个类。只需使用==代替:

return n == thatInt.n; 
4

比较int S,只需使用==操作:

if (n == thatInt.n) 

注意int是不是一类,这样你就可以永远使用.运营商与int变量。

相关问题