gpt4 book ai didi

java - java中字符串常量池中两个字符串的连接

转载 作者:行者123 更新时间:2023-12-01 12:42:46 24 4
gpt4 key购买 nike

由于两个字符串的连接会在字符串常量池中生成新的字符串对象,所以为什么下面的代码计算结果为否。

public class Main {
public static void main(String[] args) {
String s = "abcd";
String s1 = "ab";
String s2 = "cd";
s1 = s1+s2;
if(s1==s)
System.out.println("YES");
else
System.out.println("No");
}
}

最佳答案

s1+s2 不是编译时常量表达式,因为 s1s2 不是最终的(尽管它们被分配了 compile-时间常数值)。

因此,该值是在运行时计算的:结果与常量池中的实例不同,尽管值相同。

关于java - java中字符串常量池中两个字符串的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61287129/

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