你真的知道equals和==在Java中真正的区别吗

作者: Yimcode分类: 计算机技术 发布时间: 2023-04-05 18:30:00 浏览:3737 次

你真的知道equals和==在Java中真正的区别吗

遥远的Paradise_:
==:关系运算符 在基本数据类型中比较两个值的内容是否相等 在引用类型型中比较的是两个对象的地址是否相等 equals()是Object类中的方法 1.基本数据类型无法使用equals()方法 2.在引用类型中若是没有重写Object类时,则默认使用Object类的equals方法,则仍然 利用“==”比较两个对象的内存地址,若是重写Object类的equals方法,则调用子类重写后 的方法可以进行内容或值的比较

【回复】比如StringBuffer类,我之前写算法就一直以为StringBuffer的equals()肯定也是和String类一样的,结果老是返回true,一查才知道原来没重写...
卯毛:
视频不错,适合初学者。 但是,初学者现在好像挺惨的。[脱单doge]

MESTARRYsky:
一开始也遇到过这个坑,idea提示我然后就自动换成equals[doge],还有其他的问题,不得不说idea太智能了

【回复】当时我踩这个坑踩了一下午,想着明明内容一样,为什么用扫描器输入的字符串用==比较时永远是false
【回复】建议再装一个阿里代码规范插件[doge]
梦乃真帆:
String s = "hello"和String s = new String("hello")有区别吗[思考]

【回复】有的,前者的hello会被认为是一个常量,并且被存储在字节码文件中,但是使用new一定会创建一个新的对象(可以理解为使用这个常量拷贝了一个字符串对象)

编程语言 equals方法 前端 React Java 架构师 Java面试 SpringBoot Java初学者 Java特性

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!