最MC论坛
标题:
[教程]在Java中通过反射实例化枚举
[打印本页]
作者:
lss233
时间:
2017-8-29 15:04
标题:
[教程]在Java中通过反射实例化枚举
假假设我们有一个像这样的枚举:
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");
复制代码
欢迎光临 最MC论坛 (http://www.zuimc.com/)
Powered by Discuz! X3.2