“将项目添加到枚举器”方法的替代方法?

时间:2011-05-24 10:10:18

标签: java enums

我有我的应用程序设计,我有一组城市,我想在Enum中添加它们。大约一年左右的时间,这些都是我需要努力的城市。 然而,城市列表迟早会增长,然后需要在枚举中添加元素。

根据我的理解,没有'好'的方式将元素添加到枚举中,看到某些黑客,但现在看起来好像远离它们更好。

那么在这种情况下我的方法应该是什么?我可以使用普通字符串,但我想要更好的东西。

2 个答案:

答案 0 :(得分:3)

为什么不直接使用Set。并使用set的迭代器来枚举所有城市。

枚举不是为了动态更新而设计的。它在概念上是静态的

答案 1 :(得分:0)

你可以使用flyweight方法(如果我的记忆正确地为我服务),而你有一个私有构造函数的类(类似于Singleton),这个类将管理它自己的所有实例 - 将有一个单一的实例在每个城市的系统中,都由班级本身管理,因此你可以像使用枚举一样使用==而不是equals()。