equals()和==到底有什么区别啊?

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:58:11
郁闷,越看越糊涂

equals()和==的区别:

1、对象类型不同

equals()是超类Object中的方法。

==是操作符。

2、比较的对象不同

equals()用来检测两个对象是否相等,即两个对象的内容是否相等。

==用于比较引用和比较基本数据类型时具有不同的功能。

扩展资料

java中所有类的父类是Object类,在Object中,已经定义了一个equals()方法,但是这个默认的equals()方法实际上也只是测试两个变量引用是否指向同一对象(即与 == 功能一样)。所以它并不一定能得到你所期望的效果。

通常我们需要自己将定义的类(就是上面的TestEqual)中的equals()进行重写。像Integer封装类就已经重写了Object中的equals()方法,直接可以拿来比较引用类型c和d指向的对象的值。