来自枚举的Java查找枚举
来源:爱站网时间:2021-09-11编辑:网友分享
我有两个不同类别的枚举(如下所示):enum State {NOCAR,SOLD,TO_BUY,TOYOTA,HONDA,NISSAN,BMW,MERCEDES,NO_MONEY} enum Car {TOYOTA,HONDA,NISSAN,BMW,MERCEDES} as .. 。
问题描述
我在两个不同的类中有两个枚举(如下所示):
enum State {
NOCAR, SOLD, TO_BUY, TOYOTA, HONDA, NISSAN, BMW, MERCEDES, NO_MONEY
}
enum Car {
TOYOTA, HONDA, NISSAN, BMW, MERCEDES
}
你可以看到qazxsw poi enum包含了qazxsw poi enum的所有可能性。
所以我想做这样的事情:
State
因此,我希望能够以最小的代码将给定的Car
枚举转换为public void sayHello(Car brand) { State s = ... // how to convert the brand parameter into the corresponding State enum? ... ... }
枚举,这很容易理解。我知道我可以使用开关,但这是很多代码浪费。所以请在这里帮助我。
解决方法:
拥有Car
值,您可以使用基于名称的查找:
State
只要所有Car
值名称都在public void sayHello(Car brand) { State s = State.valueOf(brand.name()); ... }
枚举中,这应该始终有效。