Java如何获取枚举类型的值
作者:Henicr
这篇文章主要介绍了Java如何获取枚举类型的值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Java获取枚举类型的值
public enum EasyExcelStyleType {
NONE("默认样式", ExcelExportStylerDefaultImpl.class),
BORDER("边框样式", ExcelExportStylerBorderImpl.class),
COLOR("间隔行样式", ExcelExportStylerColorImpl.class),
ONE("自定义样式一", EasyExcelStyle.class);
EasyExcelStyleType(String str, Class<?> cla) {
// 传递属性值
this.str = str;
this.cla = cla;
// 属性Getter,Setter方法
private String str;
private Class<?> cla;
public String getStr() {
return str;
public void setStr(String str) {
this.str = str;
public Class<?> getCla() {
return cla;
public void setCla(Class<?> cla) {
this.cla = cla;
public static void main(String[] args) throws Exception {
// 获取属性一(str)
System.out.println(EasyExcelStyleType.valueOf("ONE").getStr());
System.out.println(EasyExcelStyleType.ONE.getStr());
// 获取属性二(cla)
System.out.println(EasyExcelStyleType.valueOf("ONE").getCla());
System.out.println(EasyExcelStyleType.ONE.getCla());
java反射获取枚举值
先说下枚举类的结构:
枚举类中有许多枚举常量,枚举常量由枚举类中各个字段组成,更确切的说,枚举常量由构造方法入参字段构成。
所以如果要获取枚举常量中的值,首先需要使用class的getEnumConstants()方法获取枚举类中所有的枚举常量,然后使用类中对应的方法,得到常量中包含字段的值。
代码如下:
枚举类代码示例
package com.ecarx.jsk.jdk.poi;
public enum ResultCode {
CODE_5200("8200", "认证失败"),
CODE_5201("8201", "用户不存在"),
CODE_5202("8202", "Token验证失败"),
CODE_5203("8203", "Token刷新失败");
private String code;
private String name;
private ResultCode(String code, String name) {
this.code = code;
this.name = name;
public String getCode() {
return this.code;
public void setCode(String code) {
this.code = code;
public String getName() {
return this.name;
public void setName(String name) {
this.name = name;
利用反射获取枚举值代码