Сегодня я обнаружил, что кодирую что-то вроде этого...
public class LocalEnums {
public LocalEnums() {
}
public void foo() {
enum LocalEnum {
A,B,C
};
// ....
// class LocalClass { }
}
}
и я был удивлен, когда компилятор сообщил об ошибке на локальном enum
:
Член enum LocalEnum не может быть локальный
Почему не может быть объявлено enums локально, например classes?
Я нашел это очень полезным в определенных ситуациях. В том случае, когда я работал, остальная часть кода не нуждалась в значении enum
.
Есть ли какой-либо конфликт конструкций/конструкций, который объясняет, почему это невозможно, или это может быть будущей особенностью Java?