Я знаю, что перечисления Java компилируются в классы с частными конструкторами и множеством общедоступных статических членов. При сравнении двух членов данного перечисления я всегда использовал .equals(), например
Код: Выделить всё
public useEnums(SomeEnum a)
{
if(a.equals(SomeEnum.SOME_ENUM_VALUE))
{
...
}
...
}
Однако я только что наткнулся на код, в котором используется оператор равенства == вместо .equals():
Код: Выделить всё
public useEnums2(SomeEnum a)
{
if(a == SomeEnum.SOME_ENUM_VALUE)
{
...
}
...
}
Какой оператор мне следует использовать?
Подробнее здесь:
https://stackoverflow.com/questions/175 ... -or-equals