A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© aple136479 中级黑马   /  2015-4-21 20:52  /  482 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

比如String 的 == 就是比较地址,Object的equals方法是利用 == String类重写了equals方法,才使得变成了比较内容,其实我想问的是JVM怎么实现这两种不同的机制的?不都是== 么

3 个回复

倒序浏览
==是比较引用变量的值,引用一般都是内存地址,equals可以完全自定义,你完全可以用自己的比较方式去定义
回复 使用道具 举报
==永远都是比较地址值的,也就是看是不是同一个对象。
equals();方法在Object中和==的意思一样,其子类要看有没有复写equal();方法
回复 使用道具 举报
==在JAVA中如果使用在引用数据类型上就是比较地址值,equals方法一般都会重写,因为不重写的话调用它没什么意义。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马