java - 如何在 Java 中比较字符串和枚举类型?

标签 java string enums compare

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

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/

相关文章:

C++ 更改字符串函数中的小写字母(再次......)

string - subseq (LISP) 的简单问题

C# - 使用枚举作为唯一标识符的替代方法

java - LocalVariableTable 中的 'start' 和 'length' 属性是什么意思

java - Android 非静态 block 中的 init 方法

java - 构建 Spring Boot 项目时出错

'streaming'视频文件的Java HTTP进程

c - 为什么我的代码在 printf 处打印一颗心?

c# - 属性路由 - 枚举未解析

c++ - 在类访问混淆中声明的枚举类型