面试题==和equals

#面试题:==和equals的区别#

一、
==:运算符
1.可以使用基本数据类型变量和引用数据类型变量中
2如果比较的是基本数据类型变量:比较两个变量保存数据是否相等(不一定类型相同)
如果比较的是引用数据类型变量:比较两个对象的地址值是否相等,即两个引用是否只想同一个对象实体

二、equals()方法的使用
1.是一个方法,不是一个运算符
2.只适用于引用数据类型
3.Object类中equals()定义 :
public boolean equals(Object obj){
return (thisobj);
}
说明Object类定义的equals()和
作用是相同的;比较两个对象地址值是否相同,即两个引用是否指向同一个地址
4.String Data File 包装类等都重写了equlas(),重写以后比较的不是两个引用地址是否相同 ,而是比较两个对象的“实体内容”是否相同。
5.通常情况下,我们自定义的类如果适用equals()的话,也通常是比较两个对象的“实体内容”是否相等,那么我们就要对Object类中的eqals()进行重写。
重写原则:比较两个实体内容是否相等

发布了29 篇原创文章 · 获赞 3 · 访问量 862

猜你喜欢

转载自blog.csdn.net/My_name_PeterLiu/article/details/103244560