gpt4 book ai didi

java - 比较 Java 中的字符串引用

转载 作者:行者123 更新时间:2023-12-02 21:14:05 27 4
gpt4 key购买 nike

以下代码片段中的代码仅比较字符串引用。

String str1 = "mystring9";
String str2 = "mystring"+String.valueOf(9);

System.out.println(str1==str2);

在本例中,str1==str2返回false .

<小时/>

以下代码段还返回 false .

String str1 = "mystring9";
String str2="mystring"+str1.length();

System.out.println(str1==str2);
<小时/>

但是,以下代码返回 true .

String str1 = "mystring9";
String str2 = "mystring"+9;

System.out.println(str1==str2);

我认为,表达式 "mystring"+9在此代码中应在内部评估为 String.valueOf(9)但是为什么前两个示例返回的输出与前面的示例不同?

最佳答案

Java 编译器将预先评估所有仅常量操作。 (这称为 constant folding )

因此,"A"+ "b"+ 3 编译为 "Ab3"

关于java - 比较 Java 中的字符串引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19592301/

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