将Class.getEnumConstants转换为字符串



此测试用例用于验证通用枚举生成器。这将生成xml文件中列出的枚举。

测试用例是循环遍历生成的每个枚举类,并验证枚举常量是否与从XML生成的对象匹配。

1. List of Enum constants from Enum:
Class<?> c = classLoader.loadClass("enum.java");
System.out.println(Arrays.asList(.getEnumConstants()));
[x,y,z]
2. List the Enum values from the Object generated from XML:
List<String> str1 = ["x","y","z"];

现在我想比较1和2。怎么办?

我引用了https://docs.oracle.com/javase/tutorial/reflect/special/enumMembers.html

java.lang.class.getEnumConstants((返回此枚举类的元素,如果此class对象不表示枚举类型,则返回null。methode.name((以字符串的形式返回枚举常量的名称。您可以使用它与Sting List进行比较。

首先将结果转换为String 类型的ArrayList

ArrayList<String> list1AsString = new ArrayList<>();
for(EnumName enum:list1){
list1AsString.add(enum.name()); 
}

然后你可以对它们进行比较。

list1AsString .equals(list2);

枚举方法

最新更新