java中操作符“==”与对象equals()方法的比较

时间:2022-09-14 16:06:14

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”))