1.equals方法详解
equals方法用来判断两个对象是否相等,在Object类中定义如下:
可以看出,Object类中的equals方法比较的是两个对象的地址是否相同,自定义类对象在比较时若使用该方法,默认调用的是Object类中的equals方法,比较的是对象的地址,若想要比较对象的内容,必须重写equals方法,在重写时注意要将类中的所有属性进行比较。
在使用String、Date、File、包装类这几个类的对象进行比较时,比较的是两个对象的内容是否相同,而非地址,因为这几个类已经重写了Object类中的equals方法。
2.“==”详解
“==”常用来比较基本数据类型,此时比较的是内容,也可以用来比较引用数据类型,此时则比较的是地址,在使用该运算符时,必须保证左右两边的变量类型一致,否则编译会报错。
3.equals方法和“==”的异同
异:
1.equals方法只能适用于引用数据类型,而“==”适用于基本数据类型和引用数据类型
2.equals是方法,而“==”是运算符
同:
当比较引用数据类型时,若equals不重写,都是比较的是内存地址
4.相关练习题
详细题目要求点击链接:equals方法练习题