Java 枚举类存储Class类型:两种方法详解
Java 枚举类存储Class类型:两种方法详解
本文介绍两种在Java枚举类中存储class类型的方法,并附带代码示例和注意事项,帮助你轻松掌握如何在枚举中存储class信息。
- 使用静态常量存储class类型:
public enum MyClassEnum {
CLASS1(MyClass1.class),
CLASS2(MyClass2.class),
CLASS3(MyClass3.class);
private final Class<?> clazz;
MyClassEnum(Class<?> clazz) {
this.clazz = clazz;
}
public Class<?> getClazz() {
return clazz;
}
}
- 直接在枚举类中存储class类型:
public enum MyClassEnum {
CLASS1 {
@Override
public Class<?> getType() {
return MyClass1.class;
}
},
CLASS2 {
@Override
public Class<?> getType() {
return MyClass2.class;
}
},
CLASS3 {
@Override
public Class<?> getType() {
return MyClass3.class;
}
};
public abstract Class<?> getType();
}
这样,通过枚举实例调用getType()方法就可以获取对应的class类型了。注意,在第二种方式中,每个枚举实例都需要实现getType()方法。
原文地址: https://www.cveoy.top/t/topic/pxdG 著作权归作者所有。请勿转载和采集!