我想知道如何在一行中比较多个字符串。我尝试使用|| 但不适用于布尔值或字符串。这是我的代码是什么样的:
}else if(question != "a" || "b") {
System.out.println("Sorry that isn't an A or a B");
对于那些将其标记为重复的对象,我在此处检查了200多个关于堆栈溢出的问题,但没有一个起作用。@Chrylis发布的一个实际上没有帮助。他们只是在问==和.equals()的区别
首先,不要==
用于字符串。稍后您将了解原因。您想按字符串的内容而不是它们在内存中的位置比较字符串。在极少数情况下,字符串"a"
可以将false与另一个名为的字符串进行比较"a"
。
其次,将其拆分,以便对比较结果执行布尔逻辑:
else if(!(question.equals("a") || question.equals("b")) {
问题内容: 我知道的结果是布尔值,因此无法进行比较,但是我们如何检查是否存在多个字符? 问题答案: 这不是您想要的。请使用堆栈语句: 或者,由于我是 正则表达式的狂热者 ,因此这是一种使用 正则表达式 的方法!:) 由于user2980077 ,此后修复的代码中有一个错误
首先,考虑这个例子: 我期望什么:因为“123”是一个< code>const char*,我期望这些字符串的地址(就像其中一个答案所说的)被比较。 …因为和将只比较这些字符串的基址。不是字符串本身的内容。 但输出仍然是。好吧,我们实际上不知道如何比较两个prvalue对象的地址(或者至少我不明白会怎么做)。所以让我们将这些字符串声明为变量,看看会发生什么: 输出仍然是 。所以字符串不会衰减吗?或
问题内容: 我听说散列(即将字符串或对象转换为数字)用于字符串等,因为比较数字比字符串更容易。如果为真,这是什么原因? 问题答案: 不一定是这种情况,但大多数时候可能是这样。 请考虑以下情况: 我想比较字符串“ apples”和“ oranges”。如果我只想确定“ apples” ==“ oranges”,我只需要比较每个字符串的第一个字符:’a’!=’o’=>“ apples”!=“ oran
问题内容: 假设你有一些具有多个字段的对象,可以通过以下方式进行比较: 因此,在此示例中,当你询问是否: 你可能会问a的姓氏是否早于b的姓氏,或者a是否早于b,等等。 在这些对象之间进行多重比较而不增加不必要的混乱或开销的最干净的方法是什么? 界面仅允许一个字段进行比较 在我看来,添加许多比较方法(即,等)比较混乱。 那么最好的方法是什么? 问题答案: 你可以实现比较两个对象的,并且可以根据需要检
问题内容: 我有一个程序正在制作,当用户输入一种心情时,它将在此基础上输出报价。我需要告诉程序 问题是,我不知道如何使程序识别输入并基于该输出文本…这是到目前为止我所拥有的代码。 问题答案: 首先,看起来您正在处理错误的变量。我想你打算比较。 处理字符串时,请始终使用而不是。比较参考值(通常不可靠),同时比较实际值。 将您的字符串转换为全部大写或全部小写也是一个好习惯。在本示例中,我将使用小写字母