java通过反射获取枚举对象

随着项目的功能越来越多.里面使用到的枚举对象也随之增加,以往是每个枚举都有一个获取的方法,后来网上查了一下.可以通过java的反射机制来获取代码如下


Class<?> onwClass = Class.forName("com.cheshangma.operation.common.enums." + typeName);//这里的typeName就是枚举对象的名称,是需要写全路径的,注意小数点别少写了
//这里是获得枚举的遍历方法  即:枚举对象.values();一样      
Method method = onwClass.getMethod("values");
//这里获取所有的枚举对象 method.invoke(null)也可写成method.invoke(null,null)
 EnumTypeInterface inter[] = (EnumTypeInterface[]) method.invoke(null);
 for (EnumTypeInterface enumMessage : inter) {
   Map<String, Object> map = new HashMap<String, Object>();
   map.put("value", enumMessage.getValue());
   map.put("desc", enumMessage.getDesc());
   map.put("name", enumMessage.toString());
   list.add(map);
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值