为了账号安全,请及时绑定邮箱和手机立即绑定

我们如何将字符串与 Java 中枚举元素的值进行比较

我们如何将字符串与 Java 中枚举元素的值进行比较

饮歌长啸 2023-08-09 17:05:03
我有一个枚举Foopublic enum Foo {    A("first"),    B("second"),    private final String value;    private Foo(String value) {        this.value = value;    }    public String value() {        return this.value;    }}下面我试图检查我的枚举中是否包含字符串。public boolean isValidFoo(String fooStr) {return EnumSet.allOf(Foo.class)                        .contains(Foo.valueOf(fooStr.toUpperCase()));}当我发送A或Bfor时,这有效fooStr。first当我发送或second发送时如何使其工作fooStr?
查看完整描述

2 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

你可以试试这个..

public boolean isValidFoo(String fooStr) {
    return Arrays.stream(Foo.values())
            .anyMatch(e -> e.value.equals(fooStr));
}


查看完整回答
反对 回复 2023-08-09
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

您可以添加一个方法


  public static Foo getEnum(String value) {

        for (Foo foo : Foo.values()) {

            if (foo.value.equals(value)) {

                return foo;

            }

        }

        return null;

  }


查看完整回答
反对 回复 2023-08-09
  • 2 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信