String类型的比较---用==号/用equals()方法/用contentEquals()方法
1)为什么判断字符串是否相等时不用==号用equals()方法
-
java中的==是用来判断对象所使用的内存地址是不是同一个,进而判断是不是同一个对象。例如 objA == objB
注意这里是同一个对象才会是true,如果不是同一个对象,哪怕两个对象所有属性都相同也会返回false。 -
而equals则是一个方法,你可以为自己的类编写equals方法来判断是不是相等。这里String类就提供了equals方法来判断两个String对象是不是相同,而不是去判断两个String对象是不是同一个对象,因为我们一般使用中,只关心两个字符串内容相同与否,而不会关心是不是同一个对象。
参考链接:https://blog.csdn.net/weixin_33974433/article/details/94322785
2)equals与contentEquals区别
-
equals只能对2个String对象内容比较。如果一个是String,一个是BufferedString,即使内容相同,仍然返回false
-
contentEquals比较类型为java.lang.CharSequence的对象内容是否相同。常用的String、StringBuffer、StringBuilder都实现了接口java.lang.CharSequence
参考链接:https://blog.csdn.net/sinat_25318461/article/details/81744089
分类:
Java相关 / 容易忘记知识点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!