equals() 与 ==的区别
理解equals()方法和==运算符的区别是非常重要的。
- 默认情况下(即没有被重写时)equals()只能比较引用类型
- = =既能比较引用类型又能比较基本类型(由于格式原因,==之间加了个空格)
- equals()方法从Object类继承,即比较对象引用的值
- 一般都被子类方法覆盖,不再比较引用的值
"=="运算符:
- 比较基本数据类型:相当于算术等号
- 比较引用数据类型:比较引用的值,不能被覆盖。
如果上面还是不太好理解的话,我个人简述一下:
- equals可以理解为只比较里面的值是否一样(可用Ctrl+鼠标左键在eclipse选择equals单词进入里面查看详细对比)
- ==是除了输入的值一样之外,还要比较基本类型(String、int等)