--错题集--

String s1=new String( ” xyz ” );
String s2=new String( ” xyz ” );
Boolean b1=s1.equals(s2);
Boolean b2=(s1==s2);
System .out.print(b1 ” ” +b2);

输出为 true false

要点:
String a = “a”;

定义a指向的是字符串常量区变量,变量名不同,其地址是一样的,可用equals和==进行比较,结果为true。

1、==比较的是引用,即地址,equal比较的是值
2、都new时,=的比较结果一定为false,equal的结果看值

String a =new String( “a”);
定义了变量名为a的堆内存对象,不同变量名的堆内存之间进行比较只能equals,不能==
解题:
**Boolean b2=(s1==s2);//比较s1和s2两个对象的存储地址是否相等,明显两者分别存储在不同的地址,所以返回:false。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值