操作符“==”与对象的equals()方法

    很多时候都会用到类型或者是对象是否相等的比较应用,需要总结一下。

    操作符“==”是用来比较两个操作元是否相等,两个操作元可以是基本类型,也可以是引用类型,如果是引用类型变量,两个变量必须是同一个对象,结果才是true。

举例如下:

 int i1= 1,i2=2,i3=1;
 boolean b1=false,b2=true,b3= false;
 String s1="test",s2 ="test_2",s3="test",s4;
 s4 = new String("test");
 System.out.println("i1==i2:"+(i1==i2)+" i1==i3:"+(i1==i3));
 System.out.println("b1==b2:"+(b1==b2)+" b1==b3:"+(b1==b3));
 System.out.println("s1==s2:"+(s1==s2)+" s1==s3:"+(s1==s3)+" s1==s4:"+(s1==s4));

 

输出:

i1==i2:false i1==i3:true
b1==b2:false b1==b3:true
s1==s2:false s1==s3:true s1==s4:false
   对于equals()方法,java.io.Object类中定义了equals方法,用来比较两个对象是否相等。其实在对象是否相等的问题上,==和equqls()是效果一样的,但是由于JDK类中有一些类覆盖了oject类的equals()方法,比较规则为:如果两个对象的类型一致,并且内容一致,则返回true,这些类有:java.io.file,java.util.Date,java.lang.string,包装类(Integer,Double等)。 举例如下:

    Integer int1 = new Integer(1);
 Integer int2 = new Integer(1);
 
 String str1 = new String("test");
 String str2 = new String("test");
 System.out.println("int1==int2:"+(int1==int2)+" int1.equals(int2):"+int1.equals(int2));
 System.out.println("str1==str2:"+(str1==str2)+" str1.equals(str2):"+str1.equals(str2)); 

输出:

int1==int2:false int1.equals(int2):true
str1==str2:false str1.equals(str2):true

 

    注意:对于那些没有覆盖equals()的类,功能应用还是一样的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值