本文介绍了如何在Java中将值从一个枚举转换为另一个枚举?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在Java中将值从Enum1强制转换为Enum 2?这是我要执行的操作的示例:
How can I cast a value from Enum1 to Enum 2 in Java?Here is an example of what I'm trying to do :
public enum Enum1 {
ONE,
TWO,
THREE;
}
public enum Enum2 {
FOUR,
FIVE,
SIX;
}
所以我想做这样的事情:
So I want to do something like this:
Enum2 en2 = (Enum2)ONE;
有可能吗,我该怎么办?
Is it possible and how can I do that?
提前谢谢!
推荐答案
您不能从一个枚举转换为另一个枚举,但是每个枚举都有保证的顺序,您可以轻松地将一个枚举转换为另一个枚举(保留顺序).例如:
You cannot cast from one enum to another, however each enum has guaranteed order, and you can easily translate one enum to another (preserving order). For example:
enum E1 {
ONE, TWO, THREE,
}
enum E2 {
ALPHA, BETA, GAMMA,
}
我们可以通过以下方式将 E1.TWO
与 E2.BETA
互译:
we can translate E1.TWO
to/from E2.BETA
by:
static E2 E1toE2(E1 value) {
return E2.values()[value.ordinal()];
}
static E1 E2toE1(E2 value) {
return E1.values()[value.ordinal()];
}
这篇关于如何在Java中将值从一个枚举转换为另一个枚举?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!