我有一些代码获取枚举值:
StringUtils.isEmpty(getEnumMember().value());
支持代码如下所示:
public CustomEnum getEnumMember() {
return enumMember;
}
----
public enum CustomEnum {
TEXT1("text1"),
TEXT2("text2"),
TEXT3("text3");
private final String value;
CustomEnum(String v) {
value = v;
}
public String value() {
return value;
}
...
}
我想知道是否有一种方法可以像处理空对象一样使用getEnumMember处理空枚举。例如:
public CustomEnum getEnumMember() {
if (enumMember ==null) {
return new CustomEnum();
}
return enumMember;
}
但是我无法实例化“新的CustomEnum”。您将如何处理它,以使getEnumMember()不会返回null?我希望不要为“ ENUM_IS_NULL(“”)“创建一个特殊的枚举值。
最佳答案
创建枚举时,就是说该类型的任何变量都将具有定义的值列表之一-或为null。那是不可避免的。因此,您必须接受null或确定一个适当的值-无论是现有的枚举值之一还是添加的新值。这些是您唯一的选择。代码return new CustomEnum();
毫无意义。您必须选择一个枚举值,并且必须指定哪个。