我有一个枚举,比如说enum A { value1, value2, value3}
,还有一个enum B { value1, value2, value3}
即使这些枚举具有相似的值,由于编码标准的原因,它们不能互换使用,因为它们驻留在不同的层中。有没有办法将内容从一个复制到另一个?默认情况下,值没有任何访问说明符,也没有任何类型。它们只是田野。请告诉我是否有任何方法可以使用 java 将一个内容复制到另一个。另请注意,A 是无法修改的第三方枚举,B 是我尝试生成的枚举
最佳答案
您可以通过名称获取枚举值:
String name = A.value1.name();
try {
B b = B.valueOf(name);
}
catch (IllegalArgumentException e) {
// Handle this if name doesn't exist in B
}
名称只是一个字符串,可以在不同层之间安全地传输。有关更多信息,请参阅 Enum.valueOf(Class<?>, String)
的 Javadoc
关于java - 将一个枚举复制到另一个java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34592248/