gpt4 book ai didi

java - 为什么使用 == 比较具有相同值的字符串会返回 false?

转载 作者:行者123 更新时间:2023-12-01 10:22:31 25 4
gpt4 key购买 nike

在下面的代码中,在池中创建一个字符串,然后在其中连接创建其他字符串对象。最后的结果是“2cfalse”并由 a 引用。然后在第 7 行,由于字符串的不重复性质,我认为它不会创建单独的文字作为“2cfalse”,因此 == 运算符必须返回 true .. 为什么它不返回 true ..

class demo {
public static void main(String aaa[]) {
String a = "";
a += 2;
a += 'c';
a += false;
if (a == "2cfalse")
System.out.println(1);
if (a.equals("2cfalse"))
System.out.println(2);
}
}

最佳答案

这是因为==比较 String s by 他们的内存位置 vs String.equals按字典顺序比较它们。

关于java - 为什么使用 == 比较具有相同值的字符串会返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35484276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com