<<对象之间进行比较时,用Equals比较的是references,而不是值,因此楼主的结果是“no equals”>> 这真是胡说!:)原因在这里: << public boolean equals(Object o) { if ( o == this ) return true; if ( !(o instanceof Long) ) return false; // <-- here. ... ... } >>
如果你比较的是String类型可以用equals,但比较数字就没有必要用==就可以了 如果抄这为人兄的话: public boolean equals(Object o) { if ( o == this ) return true; if ( !(o instanceof Long) ) return false; // <-- here. ... ... } o == this 已经变为比较它们的地址了,所以是no equals
这真是胡说!:)原因在这里:
<<
public boolean equals(Object o) {
if ( o == this ) return true;
if ( !(o instanceof Long) ) return false; // <-- here.
... ...
}
>>
如果抄这为人兄的话:
public boolean equals(Object o) {
if ( o == this ) return true;
if ( !(o instanceof Long) ) return false; // <-- here.
... ...
}
o == this 已经变为比较它们的地址了,所以是no equals