我正在试图弄清楚如何在Java中使用枚举,我不知道如何做到这一点:
public enum animalSounds {
CAT("meow"),
DOG("Woof"),
PIG("Oink"),
public final String animalName;
animalSounds(String noise) {
this.animalName = noise
}
}
我正在尝试做的是传递一个字符串,并查看该字符串是否存在于可枚举集中。所以,我会传入“Oink”并返回PIG,但如果我传入“Chirp”,我会得到某种错误,因为“Chirp”没有枚举值。
答案 0 :(得分:0)
private animalSounds getAnimal(String noise) {
for(animalSounds a : animalSounds.values())
{
if(a.animalName.equals(noise))
{
return a;
}
}
throw new IllegalArgumentException();
}
答案 1 :(得分:0)
使用values()方法 - 并迭代不同的类型,做你的逻辑。
答案 2 :(得分:0)
对于少数人,遍历values()
;对于许多人来说,按照建议here创建Map<String, AnimalSounds>
。