【发布时间】:2017-10-11 11:27:53
【问题描述】:
我的枚举
public enum ExamStausEnum {
RESULTAWAITED("Result Awaiting"),
PASSED("Passed"),
FAILED("Failed");
private String value;
ExamStausEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
}
通用迭代器枚举
static <E extends Enum <E>> void foo(Class<E> elemType) {
for (E e : java.util.EnumSet.allOf(elemType)) {
System.out.println(e);
}
}
结果:
RESULTAWAITED
PASSED
FAILED
如何打印构造函数值?
Result Awaiting
Passed
Failed
【问题讨论】:
-
你的意思是
System.out.println(e.getValue())? -
@khelwood,但这对所有枚举都是通用的,getValue 是针对这个名为 ExamStausEnum 的枚举
-
你能在你的枚举上覆盖
toString()吗? -
一般情况下你不能这样做。如果您有几个带有值字段的枚举,则可以使用反射获取该字段。
-
@khelwood 是的!想要同样的结果
标签: java generics enums java-8