我知道这是重复的问题,但是未正确提出该问题,所以我没有得到答案。
但是在一次采访中有人问我这个问题。
我想知道可能吗?如果是,任何人都可以向我提供代码吗?

提前致谢。

最佳答案

在java中,方法public boolean equals(Object obj)从Object.class继承。由于所有Java对象都(最终)继承自Object,因此它们也都继承了该方法。但是,在Object类中定义的方法的实现是,当且仅当要比较的两个对象是同一实例时,equals方法才会返回。

public class WrappedString {
    private final String str = "hello";
}

public void foo() {
    WrappedString ws1 = new WrappedString();
    WrappedString ws2 = new WrappedString();
    System.out.println(ws1.equals(ws2));
}


上面的代码段的输出将是false,因为ws1仅等于其自身(例如,由于未覆盖equals,因此对同一实例的其他引用)。

10-06 06:54