Имя переменных может быть изменено и не должно влиять на логику. Но метод name()
в Enum возвращает имя константы в качестве значения, чтобы он мог нарушить существующий код. Следует ли мне избегать использования name()
?
Например,
public enum Example1 {FOO, BAR}
Рефакторинг FOO
имя к FOO2
будет тормозить Example1.FOO.name().equals("FOO")
.
public enum Example2 {
FOO("FOO"),
BAR("BAR");
String code;
private Example2(final String code) {
this.code = code;
}
public String getCode() {
return code;
}
}
В этом случае изменение имени FOO
на FOO2
не приведет к торможению Example2.FOO.getCode().equals("FOO")
.