Java:如何比较多个字符串?

Sar*_*Bee 5 java

我想知道如何在一行中比较多个字符串.我尝试使用|| 但它不适用于布尔值或字符串.这就是我的代码:

}else if(question != "a" || "b") {
    System.out.println("Sorry that isn't an A or a B");
Run Code Online (Sandbox Code Playgroud)

对于那些标记为重复的人,我在这里检查了200多个关于堆栈溢出的问题,但没有一个工作.@Chrylis发布的那个实际上并没有帮助.他们只是在询问==和.equals()的区别

ζ--*_*ζ-- 9

首先,不要==用于字符串.你以后会知道为什么.您希望按字符串的内容比较字符串,而不是它们在内存中的位置.在极少数情况下的字符串"a"可以比较假,以所谓的另一个字符串"a".

其次,将其拆分,以便在比较结果上执行布尔逻辑:

else if(!(question.equals("a") || question.equals("b")) {
Run Code Online (Sandbox Code Playgroud)

  • @arshajii如果这是你想做的假设,请继续.不过,我将以自己的假设和解释离开. (2认同)

ars*_*jii 5

您可以尝试使用Arrays.asList()

else if (!Arrays.asList("a", "b").contains(question)) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • 这是不是有点过分了? (3认同)