我有以下枚舉:爲什麼myEnum.ONE不等於myEnum.ONE.toString()?
public enum myEnum {
ONE("ONE"), TWO("TWO");
private String name;
private myEnum(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
};
我的問題是,爲什麼下面評估爲假的?我懷疑它與equals()方法的實現有關。
(myEnum.ONE).equals(myEnum.ONE.toString())
你爲什麼期望它評估爲「真」?我認爲你需要退後一步,真正理解Java中如何使用equals和hashCode。它們是Java中最重要的兩個合同。 – polygenelubricants 2010-08-31 23:17:23