1、“==” 用来比较两个操作元是否相等,操作元可以是基本数据类型,也可以是引用类型。当比较是引用型变量时,两个变量必须引用同一个对象结果才为true。
2、equals()方法用来比较两个对象是否相等。两个变量为同一个对象结果才为true
- 变量为基本类型
int a=1,b=2;
a==b //false
int a=1,b=1;
a==b //true
- 变量为引用类型
Integer int1=new Integer(1);
Integer int2=new Integer(1);
Integer int3=int1;
Integer int4=new Integer(2);
int1==int2 //false 不是同一个对象
int1.equals(int2) //true 引用了同一个对象,且值相等
int1.equals(int4) //false 值不等
int1==int3 //true 引用了同一个对象
int1.equals(int3) //true
String str1=new String("hello");
String str2=new String("hello");
str1==str2 //false
str1.equals(str2) //true
Animal ani1=new Dog();
Animal ani2=new Cat();
ani1.equal(ani2) //false 引用不同对象
总结:实际运用中,基本类型的比较一般采用“==”,String类型的比较一般采用equals(),比如if(a.equals(“hello”))