检查字符是否来自给定集合,如果可能,在Java中使用枚举?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (30)

我想检查存储在变量char c中的字符是否来自{'a','b','c','1','3','5','7','9'}。

我可以通过以下方式做到:

if(c =='a'|| c =='b'|| c =='c'|| c =='1'|| c =='3'|| c =='5'|| c =='7'|| c =='9'){//做点什么...}

如果我在我的Java程序中检查变量c和不同位置的不同允许字符集,我会得到太尴尬的代码。我正在寻找更简单的一个。

提问于
用户回答回答于

最简单的方法可能是保存一组允许的字符:

private static final Set<Character> ALLOWED = 
    new HashSet<>(Arrays.asList('a' , 'b', 'c', '1', '3', '5', '7', '9'));

public static final boolean isAllowed(char c) {
    return ALLOWED.contains(c);
}

扫码关注云+社区

领取腾讯云代金券