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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yoomii 中级黑马   /  2016-3-27 01:16  /  922 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java中==和equal有什么区别呢?Java中==和equal有什么区别呢?

8 个回复

倒序浏览
要看equal调用的类型以及是否被重写,否则一样
回复 使用道具 举报
==可以比较引用数据类型,也可以比较基本数据类型.比较基本数据类型比较的是值,比较引用数据类型的时候比较的是对象的地址值.
equals只能比较引用数据类型,比较的是对象中的值是否相同.
回复 使用道具 举报
==可以比较基本数据类型和引用数据类型,比较引用数据类型比较的是地址值,equals只能比较引用数据类型,底层是==号实现的,理论上也是比较的地址值,但是一般会重写,用来比较属性值,这样更有意义。
回复 使用道具 举报
==怎么比的引用类型,完全不知道啊= =,
回复 使用道具 举报
==:基本类型比较值,引用类型比较地址值
equals:默认比较的是地址值,重写后比较的是属性
回复 使用道具 举报
== 比较地址值 equals 重写后比较属性
回复 使用道具 举报
如果没有重写Object类中的equals方法的话,这两者是一样一样的,都是比较地址值,但是很多类中都重写了equals方法的,比如String类,所以你得去看看API中这个类有没有重写equals方法,  而且==可以比较基本类型和引用类型,而equals只能比较引用类型
回复 使用道具 举报
yoomii 中级黑马 2016-3-28 22:03:05
9#
受教了受教了受教了,谢谢各位大牛了。~~{:2_36:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马