Я заметил, что enums
вводят много дополнительных файлов классов (класс $ 1) после компиляции, раздувающей общий размер. Кажется, он привязан к каждому классу, который даже использует перечисление, и они часто дублируются.
Почему это происходит, и есть ли способ предотвратить это, не удаляя перечисление.
(Причина для вопроса - это пространство для меня на премию)
РЕДАКТИРОВАТЬ
Изучая проблему, Sun Javac 1.6 создает дополнительный синтетический класс каждый раз, когда вы используете переключатель Enum. Он использует какой-то SwitchMap. На этом сайте есть дополнительная информация, и здесь рассказывается, как анализировать, что делает Javac.
Дополнительный физический файл кажется высокой ценой, которую нужно платить каждый раз, когда вы используете переключатель на перечислении!
Интересно, что компилятор Eclipe не создает эти дополнительные файлы. Интересно, единственное решение - переключить компиляторы?