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