Изменение Enum во время выполнения JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Изменение Enum во время выполнения Java

Сообщение Anonymous »

Есть ли способ добавить элементы во встроенный класс перечисления в Java?

Мой вопрос аналогичен вопросу «Могу ли я добавлять и удалять элементы перечисления во время выполнения в Java, но этот вопрос, похоже, направлен на создание собственного перечисления и его последующее изменение. Я предполагаю, что где-то существует перечисление, которое я не могу изменить, например

Код: Выделить всё

enum Days{ MONDAY, TUESDAY, WEDNESDAY }
и я хочу добавить к нему четверг, пятницу и т. д. Поэтому, к сожалению, предложения о том, как использовать интерфейс для достижения моей цели или другие методы, которые были бы более эффективными, чем перечисления, здесь не применимы.

Насколько я понимаю перечисления неявно являются окончательными, поэтому я не могу расширить его и добавить к нему больше элементов. У него есть частные поля, но, похоже, я могу использовать отражение для доступа к ним. Могу ли я изменить одно из частных полей, даже если я не могу добавить новое, то есть изменить понедельник на четверг?

Редактирование: выяснение обстоятельств

Люди предлагали изменить код перед его компиляцией в программу. Мой код — часть более крупного проекта, который я не могу изменить; класс с перечислением в нем загружается более крупной программой до того, как мой класс получит к нему доступ. На этом этапе я хотел бы добавить недостающие элементы в перечисление. Манипулирование байт-кодом все еще актуально?

Подробнее здесь: https://stackoverflow.com/questions/201 ... ntime-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»