为什么Java不允许在枚举中重写equals(Object)?
2022-09-01 03:12:59
我注意到以下片段...
@Override
public boolean equals(Object otherObject) {
...
}
...不允许使用枚举,因为该方法在枚举中定义。为什么会这样?equals(Object x)final
我想不出任何需要覆盖Enum的用例。我只是好奇地想知道这种行为背后的原因。equals(Object)
我注意到以下片段...
@Override
public boolean equals(Object otherObject) {
...
}
...不允许使用枚举,因为该方法在枚举中定义。为什么会这样?equals(Object x)final
我想不出任何需要覆盖Enum的用例。我只是好奇地想知道这种行为背后的原因。equals(Object)
已经提供了一个强烈的直观概念,即a的实例(值)相等意味着什么。允许重载方法将导致违反该概念,从而导致意外行为,错误等。enumequals