在java中,怎样动态为一个enum添加元素,是不是设计有问题?

xu_yuanjie 2008-05-12 12:00:40
我有一个目前不能确定的枚举类型(enum),
enum xxxx{
a,b,c,d,..... //不能确定有将来会有多少个.
}
我想将来通过.xml 配置文件来扩展这个enum,请问应该怎么做?
这么做的原因是:
我要根据用户提交的关键字和关键字类型(可能对应某个数据库表的一个字段)来进行搜索,
但用户可以提交多个关键字,当然也会有多个关键字类型(对应表的多个字段),目前不能确定。
我用一个抽象的类实例方法,此方法会用到这个enum类型做参数(可能是多个参数,参数列表),根据参数类型来判断它能不能对关键字(列表)进行搜索。
将来扩展功能时,我想继承这一个类,在重写方法的同时,也想在配置文件中添加一个此方法能处理的enum类型参数.
然后在程序初始化时通过反射来实例化这些子类和这个enum,请问是不是设计错了,大家提提意见
...全文
681 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyyhao 2010-07-07
  • 打赏
  • 举报
回复
看不到回复了
Shine_Panda 2008-05-21
  • 打赏
  • 举报
回复
既然要动态添加 一般就不适合用枚举。
用xml配置文件 然后解析 ,是合适的适合这种动态的做法。
dengshiwei 2008-05-12
  • 打赏
  • 举报
回复
谢谢 大家发表
sssxwz 2008-05-12
  • 打赏
  • 举报
回复
枚举不能动态添加
用数据库或者配置文件实现吧
KK3K2005 2008-05-12
  • 打赏
  • 举报
回复
你设计的时候都不知道的枚举
在程序中怎么调用呢?

根据你的要求 用XML配置 一个 STRING[] 就OK了
xu_yuanjie 2008-05-12
  • 打赏
  • 举报
回复
晕,人气真差
lovingprince 2008-05-12
  • 打赏
  • 举报
回复
这样是不现实的,enum底层实现其实是一个类,里面是静态常量.如果你要这么做的话,意味你要动态创建类,这样是相当麻烦的.枚举只适合做确定的元素的事情,不确定的还是另外设计方法来做吧.

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧