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

来源:互联网 发布:最新网络电话软件下载 编辑:程序博客网 时间:2024/06/01 09:20

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

0 0