操作符==用来比较两个操作元是否相等,操作元既可以是基本类型,也可以是引用类型。
equals() java.lang.Object类中定义的方法,用来比较两个对象是否相等。(Object是所有JAVA类的先主,任何一个类如果没有写父类,它的父类就是Object)。
==
l ==比较基本类型,直接比较值是否相等。
int a = 1;
int b = 2;
a == b;
l ==比较引用类型,要求两个引用变量都引用同一个对象,结果才是true,否则为false。
Integer int1 = new Integer();
Integer int2 = new Integer();
Integer int3 = int1;
Syso(int1 == int2);//false
Syso(int1 == int3);//ture
l 虽然==可以比较引用类型,但并不是任意的两个引用类型都可以拿来比较。
1、和null比较是可以的。
2、如果是类类型的引用变量,要求双方的类型相同或有继承关系(即位于继承树上的同一分支),否则,编译报错。