Альтернатива подходу «Добавление элементов в перечислитель»?

#java #enums

#java #перечисления

Вопрос:

У меня есть дизайн моего приложения, в котором у меня есть набор городов, и я хочу добавить их в перечисление. В основном в течение года или около того, это города, над которыми мне нужно будет работать. Однако список городов рано или поздно увеличится, что потребует добавления элементов в enum.

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

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

Ответ №1:

Почему бы просто не использовать Set для этого. И используйте итератор набора для перечисления по всем городам.

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

Ответ №2:

вероятно, вы могли бы использовать упрощенный подход (если мне не изменяет память), тогда как у вас есть класс с частным конструктором (похожий на Singleton), и этот класс будет управлять всеми экземплярами самого себя — в системе будет один экземпляр для каждого города, все они управляются самим классом, и поэтому вы можете использовать == вместо equals () так же, как вы бы использовали enum .