- UID
- 102568
- 阅读权限
- 100
- 注册时间
- 2016-8-1
- 最后登录
- 1970-1-1
- 在线时间
- 小时
- 人气
- 点
- MC币
- 个
- 贡献
- 点
TA的每日心情 | 慵懒 2019-2-10 10:44 |
---|
签到天数: 56 天 [LV.5]常住居民I
|
假假设我们有一个像这样的枚举:
- public enum Status{
- ON,
- OFF
- }
复制代码
在某些情况下,我们需要通过反射的方式获得其中的某一个实例。
我们可以通过调用Enum中的valueOf方法,通过String获得枚举实例。
- Class<?> statusClass = Class.forName("Status");
- Method valueOfMethod = statusClass.getMethod("valueOf",String.class);
- Object onStatus = valueOfMethod.invoke(null,"ON");
复制代码
或者这么写:
- Class<Enum> statusClass = (Class<Enum>) Class.forName("Status");
- Object onStatus = Enum.valueOf(statusClass, "ON");
复制代码
|
|