我有一个枚举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)); }
一只斗牛犬
TA贡献1784条经验 获得超2个赞
您可以添加一个方法
public static Foo getEnum(String value) {
for (Foo foo : Foo.values()) {
if (foo.value.equals(value)) {
return foo;
}
}
return null;
}
添加回答
举报
0/150
提交
取消