3 回答
TA贡献1821条经验 获得超6个赞
一个字回答:this
boolean check(Object someObject) {
return someObject == this;
}
这将仅测试对象标识。您应该覆盖等于并使用它。
if (one.equals(two)) {
// ...
}
TA贡献1813条经验 获得超2个赞
您可以在内部使用该方法并检查boolean check(Object o)
SomeClass
boolean check(Object o) { this == (SomeClass) o; }
仅当两个引用变量都指向同一对象时,这才有效。此外,检查两个对象是否有意义相等的正确方法是使用继承的相等和哈希码方法。
重写和方法。equals
hashCode
https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-
TA贡献1865条经验 获得超7个赞
所以你所要求的实际上已经在java.lang.Objects类中有一个命令来与对象进行比较。
one.equals(two)
这样做的比较称为浅层比较。因此,如果这是您要做的事情,那么这将起作用。作为参考,geeksforgeeks.org 定义的浅层比较的定义是
浅层比较:equals方法的默认实现是在Java.lang.Object类中定义的,它只是检查两个对象引用(例如x和y)是否引用同一个对象。即它检查 x == y。由于 Object 类没有定义其状态的数据成员,因此也称为浅层比较。
如果你想做一个更复杂的比较,你最好的选择是实际覆盖一个类文件中的 equals 命令
本文将是开始了解有关此主题的更多信息的好地方。https://www.geeksforgeeks.org/equals-hashcode-methods-java/
添加回答
举报