我是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"));
}
}
非常感谢您帮助我解决了这一小麻烦。
最佳答案
equals
是一个类的方法。 int
是原始类型,而不是类。只需使用==
代替:
return n == thatInt.n;
关于java - Java的新手,并且出现 "int cannot be dereferenced"错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15857377/