@Hardelele
Свитчер со Spring на React

Почему нет цикличных референсов в обявлении Enum?

В java.lang, имеется класс enum, который наследуют все перечисления:
639dd1c51ad22207210059.png

Допустим что E это какой-то класс Color. Тогда класс Color наследует класс Enum, где Color будет подклассом. И здесь бы всё закончилось, но Enum сам по себе является подклассом типа Color, являющийся экземпляром класса Enum с подклассом Color.

И если дальше залезть в Enum или Color, то получается рекурсия.

Вопрос в том во что это реально будет скомпилировано, так что компилятор не улетает в бесконечный цикл?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
@Hardelele Автор вопроса
Свитчер со Spring на React
Разобрался. Вот во что компилируется Enum:

639df855be573677139218.png

Все дженерики ушли. Они как раз и ломали мне голову.
Просто при первом проходе компилятор проставил везде где требуется реальный тип.

Как это работает ещё буду разбираться. Если кто-то может дополнить, буду благодарен.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Jacen11
@Jacen11
тебя ждет боль
https://habr.com/ru/company/sberbank/blog/416413/
вот одна из статей. В основном проблемы от совместимости, в джаве дженерики не сразу появились, поэтому потом пришлось изварачиваться
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы