如何在Java中将字符串与枚举类型进行比较?

我有一个美国所有州的枚举列表,如下所示:

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);

}

您可能要处理IllegalArgumentException,如果“ s”值与任何“ State”都不匹配,则可能引发该异常

以上是 如何在Java中将字符串与枚举类型进行比较? 的全部内容, 来源链接: utcz.com/qa/433908.html

回到顶部