#java #enums
#java #перечисления
Вопрос:
У меня есть дизайн моего приложения, в котором у меня есть набор городов, и я хочу добавить их в перечисление. В основном в течение года или около того, это города, над которыми мне нужно будет работать. Однако список городов рано или поздно увеличится, что потребует добавления элементов в enum.
Насколько я понимаю, не существует «хорошего» способа добавления элементов в Enum, замечены определенные хаки, но на данный момент кажется, что от них лучше держаться подальше.
Итак, каким должен быть мой подход в этом случае? Я мог бы использовать обычную строку, но я хотел бы что-то получше.
Ответ №1:
Почему бы просто не использовать Set для этого. И используйте итератор набора для перечисления по всем городам.
Перечисление не предназначено для динамического обновления. его концептуально статичный характер
Ответ №2:
вероятно, вы могли бы использовать упрощенный подход (если мне не изменяет память), тогда как у вас есть класс с частным конструктором (похожий на Singleton), и этот класс будет управлять всеми экземплярами самого себя — в системе будет один экземпляр для каждого города, все они управляются самим классом, и поэтому вы можете использовать == вместо equals () так же, как вы бы использовали enum .