首页 > 分享 > [Java] 为什么字符串比较不能用两个等号(==)

[Java] 为什么字符串比较不能用两个等号(==)

最新推荐文章于 2023-05-05 18:41:44 发布

weixin_30883311 于 2019-04-22 16:20:00 发布

Java中,使用"=="比较字符串时,判断的是两个字符串是否存放在相同的位置。如果两个字符串存放在相同的位置,那么它们就是相同的,使用"=="比较的结果也就是True。但Java虚拟机并不总是使两个相同的字符串共享一个位置,它可能会存放多个相同的拷贝在不同的位置。

只有通过字面赋值的时候,相同的字符串才会共享位置:

例如:x = "Hello"; y = "Hello";

x == y; 就是True

x == "Hello"; 也是True

但如果另有一个变量z,不是通过这种字面的方式被赋值的,即便z的值也是"Hello",

x == z; 的结果却是False

例如 x.substring(0,3) == "Hel"; 的结果就是False

因此,在进行字符串比较时,不推荐使用"==",推荐使用equals函数

转载于:https://www.cnblogs.com/shuai2019/p/10750865.html

相关知识

Java 中 == 和 equals() 区别
string[] arr = {“lmn”, “abc”,“jk”,'d
c#中字符串比较,==,!=,Compare,Equals的区别
==的作用
Java学习笔记——Object类、多态、final
【JS】js判断等号、等同(===、==)
Java 日志(Logging)
关于null != a 与 a != null 的区别
JAVA基础语法02
养龟为什么不能用圆缸?这么养完全是“虐龟”!

网址: [Java] 为什么字符串比较不能用两个等号(==) https://m.mcbbbk.com/newsview823134.html

所属分类:萌宠日常
上一篇: 赤红甲 赤红甲=========
下一篇: 喝茶,有茶宠更有趣