黑马程序员技术交流社区
标题:
分析怎么个情况,字符串相加问题,求解决
[打印本页]
作者:
宋旭东
时间:
2013-7-2 22:46
标题:
分析怎么个情况,字符串相加问题,求解决
public class StringTest
{
public static void main(String[] args) {
String s1 = "a";
String s2 = s1 + "b";
String s3 = "a" + "b";
System.out.println(s2 == "ab");
System.out.println(s3 == "ab");
System.out.println(s2.equals(s3));
System.out.println(s2 == s3);
}
}
结果
false
true
true
false
分析为什么呀?
作者:
肥猫
时间:
2013-7-2 23:08
本帖最后由 肥猫 于 2013-7-2 23:11 编辑
第一个输出比的是地址,S2和S1+B的地址能一样么?数值是一样没错;
至于第二个不用分析都懂了吧;
第三个比较的是值肯定是返回真;
第四个,S2和S3终究是变量而已并非字符串本身,从栈区指向字符串本身,肯定返回的是FALSE.
作者:
傲鸽
时间:
2013-7-3 00:14
这个问题提的真挺好,明天让老师画个内存图,好好讲一下
作者:
肥猫
时间:
2013-7-3 13:44
这个你们老师上课没提过么?很重要的东西.~~
作者:
龚首道
时间:
2013-7-3 14:57
不错,理解了。。。是不是就是==比地址,equals比内容?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2