gpt4 book ai didi

java - String + int 与 java 中相同的 String + int 比较?

转载 作者:行者123 更新时间:2023-12-01 13:09:49 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





What is Java String interning?

(8 个回答)


去年关闭。




为什么我收到 false在下面的声明中。

int x = 10;    
System.out.println("X="+x=="X="+x); //false
如果我是对的,那么在评估之后它会看起来像下面的语句..
System.out.println("X=10"=="X=10"); //true
以及为什么我收到 true在这个..
final int y = 10;
System.out.println("Y="+y=="Y="+y);

最佳答案

应该使用 equals 比较字符串方法。 ==比较身份。"X=" + x == "X=" + x创建两个单独的字符串实例,虽然内容相同,但它们的身份不同。"X=10" == "X=10"true因为字符串实习。编译器遇到两个内容相同的字符串字面量,判定这两次出现指向同一个 String 对象,因此它们具有相同的身份。"Y=" + y == "Y=" + ytrue因为 y是一个常量表达式,编译器决定 string 和 int 可以在编译时连接,产生两个相等的字符串。实际上,就好像"Y=10" == "Y=10"被写。

关于java - String + int 与 java 中相同的 String + int 比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62827746/

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