String s1=“a”;String s2=s1+"b";System.out.println(s2=="ab");
2 回答
已采纳
高恒博
TA贡献15条经验 获得超5个赞
==是比较对象的引用位置,
String s1=“a”;
String s2=s1+"b";
你这两句实际创建了两个对象(基本数据类型只创建一个),输出true的话,建议equal方法
小城阿哥
TA贡献89条经验 获得超59个赞
1. String s1="a"; String s2=s1+"b"; System.out.println(s2=="ab"); //输入 false 2. String s2="a"+"b"; System.out.println(s2=="ab"); //输出为true
首先要知道 ==是计较 是否是同一个对象 在 1 中 涉及到变量运算 得到字符串对象会保存在各自的内存中,不会在缓冲池中查找,所以==两边指向不同对象 2 中不涉及变量 则==指向同一个对象
添加回答
举报
0/150
提交
取消