我有一个美国所有州的枚举列表如下:
public enum State
{ AL, AK, AZ, AR, ..., WY }
在我的测试文件中,我将从包含状态的文本文件中读取输入。由于它们是字符串,我如何将它与枚举列表的值进行比较,以便为我设置的变量赋值:
private State state;
我知道我需要查看枚举列表。但是,由于值不是字符串类型,如何比较呢?这是我瞎打出来的。不知道对不对。
public void setState(String s)
{
for (State st : State.values())
{
if (s == State.values().toString())
{
s = State.valueOf();
break;
}
}
}
最佳答案
试试这个
public void setState(String s){
state = State.valueOf(s);
}
如果“s”值与任何“State”不匹配,您可能想要处理可能抛出的 IllegalArgumentException
关于java - 如何在 Java 中比较字符串和枚举类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12682553/