我是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/

10-11 06:43