== 和 equals 的区别是什么?

2022-05-18 12:09:30 浏览数 (3)

== 和 equals 的区别是什么?

“==”是关系运算符,equals()是方法,同时他们的结果都返回布尔值;

“==”使用情况如下:

1) 基本类型,比较的是值

2) 引用类型,比较的是地址

3) 不能比较没有父子关系的两个对象

equals()方法使用如下:

1) 系统类一般已经覆盖了equals(),比较的是内容。

2) 用户自定义类如果没有覆盖equals(),将调用父类的equals (比如是Object),而Object的equals的比较是地址(return (this == obj);)

3) 用户自定义类需要覆盖父类的equals()

注意:Object的==和equals比较的都是地址,作用相同

1 人点赞