У меня есть оператор switch в Java на Enum, который позволяет нам вызывать IMyInterface.MyEnum
Каждое из моих заявлений по делу имеет вид:
IMyInterface.MyEnum.MyValue, (хотя я мог бы удалить IMyInterface, если импортировал).
Однако компилятор (Java 6) выдает ошибку:
«Надлежащая метка регистра IMyInterface.MyEnum.MyValue должна быть заменена неквалифицированной константой перечисления MyValue».
Я, очевидно, могу это сделать, но я не понимаю, какова цель этой ошибки. Ясно, что если компилятор может иметь дело с фактическим значением, он должен иметь возможность работать с полностью определенным именем так же, как и для констант. На самом деле, я бы предположил, что компилятор превращает константу в полностью определенное имя.
Итак, гуру Java, что за этим стоит?
Спасибо!