鉴于演员表并不会 真正 检查事情,我将使用完全原始的版本:
if (cls.isEnum()){ @SuppressWarnings("unchecked") Object val = Enum.valueOf(cls, "NAME1");}这似乎有效。完整的例子:
public class Test{ enum Foo { BAR, BAZ } public static void main(String[] args) { @SuppressWarnings("rawtypes") Class cls = Foo.class; if (cls.isEnum()) { @SuppressWarnings("unchecked") Object value = Enum.valueOf(cls, "BAR"); System.out.println(value); } }}


