java - 将一个枚举复制到另一个java

标签 java enums

我有一个枚举,比如说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/

相关文章:

java - add(element) 方法将数组中的每个元素更改为元素?

java - 如何从 Java 中的字符串值获取枚举值

ios - 可以为代码部分添加类型别名吗?

java - 方法 : java. util.Date.parse() 的无签名适用于参数类型

Java libgdx - 设置每个屏幕的方向

c++ - 为什么枚举类型名称前面有枚举名称中的字符数?

foreach 中的 C++ 枚举

enums - 如何在结构中拥有特征字段?

Java - 按位运算未达到预期效果

java - 什么是堆栈跟踪,我如何使用它来调试我的应用程序错误?