这是个好主意吗?现在如何解决,如果没有的话?实现对象的“绝对等于”方法(称为same()或same())。好主意?
我认为这将是有趣添加
final boolean identical(Obj obj){
return (this==obj);
}
,所以我们有一个改进的equals(逻辑等于)
boolean equals (Obj obj){
return identical(obj); // by default, but its overrideable
}
这个问题从需求arised在这个其他问题(A Mechanism for having different equals (physical equals and logical equals) on objects in Collection)有一种方法可以将相同指针的列表与同等对象列表进行比较。有了这个想法,我们可以添加到收集界面:
coll.equals(coll2)
coll.identical(coll2)
coll.identicalElem(coll2){
//current equals implementation of collections but calling identical to compare objects
}
您怎么看?
你的方法和'=='有什么区别? – 2012-08-01 11:50:51
如果你想比较身份而不是“平等”,只是不要在你自己的对象中重写'equals()'... – 2012-08-01 11:52:03
这是一个重新发明车轮的例子。主要的(在我看来)这发生在有人发现自己比他们面前的所有计算机科学家都更聪明。 – Woot4Moo 2012-08-01 12:25:03