【发布时间】:2011-07-27 20:12:34
【问题描述】:
我的代码中有多个枚举:
public enum First { a, b, c, d; }
public enum Second { e, f, g; }
我希望有一种方法可以使用 valueOf() 检查任何枚举中是否存在值,而无需为每种枚举类型编写一个。例如(此代码不运行):
public boolean enumTypeContains(Enum e, String s) {
try {
e.valueOf(s);
} catch (IllegalArgumentException iae) {
return false;
}
return true;
}
用法:
enumTypeContains(First,"a"); // returns true
enumTypeContains(Second,"b"); // returns false
关于如何做这样的事情有什么想法吗?
【问题讨论】:
-
我将所有三个答案(例如其中的代码)添加到我的github repository stackoverflow-examples。