java 中 ==与equals的比较

今天遇到个==和equals比较的问题
查了下资料具体的解释是:
==比较的是内存地址是否相同   
equals比较是否是同一个对象 ,比较对象内容
 
本着“实践出真知”的理念而做了以下试验:

String st1 = "duan";

String st2 = "duan";

System.out.println(st1==st2);                      true

System.out.println(st1.equals(st2));           true

 

String s1 = new String("duan");

String s2 = new String("duan");

System.out.println(s1==s2);                       false

System.out.println(s1.equals(s2));            true

      

Integer int1 = new Integer(1);

Integer int2 = new Integer(1);                

System.out.println(int1==int2);                  false

System.out.println(int1.equals(int2));       true

 

int in1 = new Integer(1);

int in2 = new Integer(1);

System.out.println(in1==in2);                 true

      

Integer int3 = new Integer(1);

int in3 = new Integer(1);

System.out.println(int3==in3);                      true

System.out.println(int3.equals(in3));           true


Integer integer1 = 1;

Integer integer2 = 1;

System.out.println(integer1==integer2);               true

System.out.println(integer1.equals(integer2));    true


String str3 = new String("1d");

String st3 = "1d";

System.out.println(str3==st3);                    false

System.out.println(str3.equals(st3));         true

结论:

一般类型的时候两者没有什么区别,可以说是一样的

但是表示对象并且两者之间分配的内存单元不一样的时候两者就存在区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值