Комментарии 7
Можно построить валидный enum из 21200 констант, причём средствами чистой Java 5, безо всяких Unsafe и ConstantDynamic. Пруф.
Довольно интересная задача. Когда вы в прошлой части упомянули теоретический максимум в ~21K элементов, я ожидал в этой части увидеть, как вы его будете достигать ¯\_(ツ)_/¯
Довольно интересная задача. Когда вы в прошлой части упомянули теоретический максимум в ~21K элементов, я ожидал в этой части увидеть, как вы его будете достигать ¯\_(ツ)_/¯
0
Трюк с инициализацией через конечный автомат — красиво, снимаю шляпу!
Слегка доработав можно даже не автогенерированные "C" + index
, а произвольные имена элементам перечисления дать, по аналогии с Unsafe вариантом.
0
Ещё пара трюков, и вот уже 21391 константа: LargeEnum.class. Можно ли больше?
0
Обработку следующих 60 000 значений можно вынести в следующий метод?
0
Перечисление с более, чем примерно
Разбить один switch ()
на несколько в разных методах и обрабатывать отдельные поддиапазоны значений можно, но тут понадобится доработка компилятора. Сейчас инициализация вспомогательного массива для switch
сделана не самым оптимальным образом, см. главу «Javac и switch».
+1
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Максимальное количество значений в enum Часть II