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

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

因为你的localValue方式是枚举里面特化的匿名方法,就算其访问类型是public,但由于其在一个匿名类中(匿名类只有当前上下文才能访问其方法,也就是默认private访问),所以外部无法访问,需要公开方法的请在enum中使用abstract声明。

/**

* 根据传入的类名和值,动态构造该类的实例

*

* @param _sClassName

*要构造的类名 如:java.lang.String

* @param _sRealValue

*要创建的对象的值,比如“wuguowei”

* @return 返回String对象,即值为“wuguowei”的字符串

* @throws Exception

*/

private Object getAttributeObject(String _sClassName, String _sRealValue)

throws Exception {

//1.加载类对象

Class attrObjClass = Class.forName(_sClassName)

//2.如果是Long类

if (attrObjClass.isInstance(new Long(0))) {

return new Long(_sRealValue)

}

//3.如果是Integer类

if (attrObjClass.isInstance(new Integer(0))) {

return new Integer(_sRealValue)

}

//4.其他类型……

//5.返回当前类的实例对象

return attrObjClass

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7953177.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存