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

© 流空有痕 中级黑马   /  2016-9-6 00:04  /  430 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有大神回答吗?

2 个回复

倒序浏览
equals是指的重写了方法,判定的更细致,而==就是变量的值而已
回复 使用道具 举报
"==",既可以比较基本数据类型,也可以比较引用数据类型,也可以比较引用数据类型,比较基本数据类型的时候比较的是他们的值, 就好比int a = 1,int b = 2;  a == b,实际上是比较1 和 2,但是在比较引用数据类型的时候,比较的是内部的地址值,但是在java中比较地址值是没有意义的,所以一般"=="都是去比较基本数据类型

equals()方法只能比较引用数据类型,
equals()方法在没重写之前,比较的也是地址值,底层依赖"==",但是重写之后,比较的就不是地址值了,而是属性

所以一般的引用数据类型都会重写equals()方法,就算没重写,也继承了Object中的equals()方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马