使用空的java字符串作为java enum值处理时遇到问题。它在读取“”数据时抛出IllegalArgumentException。
updateType = records.get(11);
UpdateMethodType updateMethod = null;
String empty = "";
if (updateType != null || !updateType.isEmpty()) {
System.out.println("Update type ----->" + updateType);
updateMethod = KalturaUpdateMethodType.valueOf(updateType);
} else {
updateMethod = KalturaUpdateMethodType.valueOf(empty);
}
请帮我解决这个问题。
答案 0 :(得分:2)
不能有任何空的枚举值。您可以在KalturaUpdateMethodType
中使用名为EMPTY的特殊枚举值。
答案 1 :(得分:1)
这是预期的行为。您不应该将空字符串传递给valueOf()
方法。如果你传递null,你将得到一个NPE。
所以你最好为EMPTY字符串创建一个新的枚举。
喜欢:
enum KalturaUpdateMethodType {
EMPTY("");
String value;
private KalturaUpdateMethodType(String value) {
this.value = value;
}
}