在Java中比较字符

我想检查一个char变量是否是21个特定char之一,我能做的最短方法是什么?

例如:

if(symbol == ('A'|'B'|'C')){}

似乎没有用。我需要这样写吗:

if(symbol == 'A' || symbol == 'B' etc.)

回答:

如果您输入的是字符,并且您要检查的字符大部分是连续的,则可以尝试以下操作:

if ((symbol >= 'A' && symbol <= 'Z') || symbol == '?') {

// ...

}


但是,如果您的输入是字符串,则更紧凑的方法(但更慢)是使用带有字符类的正则表达式:

if (symbol.matches("[A-Z?]")) {

// ...

}

如果您有字符,则首先需要将其转换为字符串,然后才能使用正则表达式:

if (Character.toString(symbol).matches("[A-Z?]")) {

// ...

}

以上是 在Java中比较字符 的全部内容, 来源链接: utcz.com/qa/406604.html

回到顶部