"=="和equals()的比较及理解

一、“==”
1.可以使用在基本数据类型变量和引用数据类型变量中
2.如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等。(不一定类型要相同)
3. 如果比较的是引用数据类型变量,比较两个对象的地址值是否相同,即两个引用是否指向同一个对象实体。
二、equals()方法的使用:
1.是一个方法,而非运算符。
2.只能适用于引用数据类型。
3.Object类中equals()的定义:

public boolean equals(Object obj){
		return (this == obj)};

4.Object类中定义的equals()和==的作用是相同的:比较两个对象的地址值是否相同,即两个引用是否指向同一个对象实体。
5.像String、Date、File、包装类等都重写了Object类中的equals()方法,重写以后,比较的不是两个引用的地址是否相同,而是比较两个对象的实体内容是否相同。
6.通常情况下,我们自定义的类如果适用使用equals()的话,也通常是比较两个对象的“实体内容”是否相同。那么,我们就需要对Object类中的equals()进行重写。

发布了30 篇原创文章 · 获赞 0 · 访问量 81

猜你喜欢

转载自blog.csdn.net/qq_45370866/article/details/105489775