总结:
1、== 是比较运算符,对基本数据类型,比较值的大小,引用数据类型比较引用的指向
2、equals 是方法,在Object中,不可以用于基本数据类型的比较,用于比较引用类型,子类一般进行重写,比较对象的属性值是否相
// Object类详解
package myObject;
/* == 和 equals 的区别
1、==: 是一个比较运算符,既可以判断基本类型,又可以判断引用类型
2、==: 如果判断基本类型,判断的是值是否相等。示例:int i=10; double d=10.0
3、==: 如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象
1、equals: 是Object类中的方法,只能判断引用类型
2、equals: 默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等
*/
public class MyEquals {
public static void main(String[] args) {
B a = new B();
A b = a;
A c = b;
System.out.println(a==b); //true
System.out.println(a==c); //true
System.out.println(b==c); // true
B d = a;
System.out.println(d==c); // true
int n1 = 10;
double n2 = 10.0;
System.out.println(n1==n2); // true
System.out.println();
String str1 = "hello";
String str2 = "hello";
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
}
}
class A{}
class B extends A{}