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

时间:2018-09-22 17:38:16

标签: java enums

我想检查存储在变量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和允许的字符的不同集合,则会得到太尴尬的代码。 我正在寻找更简单的一个。

1 个答案:

答案 0 :(得分:2)

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

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