Java之equals和==的区别

equals==的区别:                    

  1. ==是比较引用类型的地址是否相同,或者数值类型的值大小是否相同
  2. Object类下equals方法是比较两对象所指向地址是否相同
  3. String类重写了Object类的equals方法,两对象所指向地址相同为true或者两字符串对象内容按位相等也为true
//equals和==的区别
//针对类对象
Person p1 = new Person();
Person p2 = new Person();
System.out.println(p1==p2);//flase
System.out.println(p1.equals(p2));//false

//针对字符串		
String s1 = new String("字符串比较");
String s2 = new String("字符串比较");
String s3 = s2;
System.out.println(s1==s2);//flase,俩对象(引用类型,s1,s2,s3都为对象的地址)地址不同为false
System.out.println(s1.equals(s2));//true,俩对象字符串内容对应相等为true
System.out.println(s2.equals(s3));//true,俩对象所指向地址相同为true

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值