== 和 equals() 的区别
作者:互联网
== 对于基本类型和引⽤类型的作⽤效果是不同的:
对于基本数据类型来说, == ⽐较的是值。
对于引⽤数据类型来说, == ⽐较的是对象的内存地址。
因为 Java 只有值传递,所以,对于 == 来说,不管是⽐较基本数据类型,还是引⽤数据类型的
变量,其本质⽐的都是值,只是引⽤类型变量存的值是对象的地址。
equals() 不能⽤于判断基本数据类型的变量,只能⽤来判断两个对象是否相等。 equals() ⽅法存在
于 Object 类中,⽽ Object 类是所有类的直接或间接⽗类,因此所有的类都有 equals() ⽅法。
Object 类 equals() ⽅法:
public boolean equals(Object obj) {
return (this == obj);
}
equals() ⽅法存在两种使⽤情况:
类没有重写 equals() ⽅法 :通过 equals() ⽐比较该类的两个对象时,等价于通过“==”比较这两个
对象,使⽤的默认是 Object 类 equals() ⽅法。
类重写了 equals() ⽅法 :⼀般我们都重写 equals() ⽅法来⽐比较两个对象中的属性是否相等;
若它们的属性相等,则返回 true(即,认为这两个对象相等)。
标签:相等,区别,对象,Object,数据类型,equals,重写 来源: https://www.cnblogs.com/RB-L12/p/16688434.html