请问一下,2-9选择题
来源:2-15 选择题
qq_盗梦者_2
2017-09-11 07:53:28
请问一下,当执行完str1.concat(str2),之后,str是指向HelloHello,还是指向原来的Hello?还是说生成的HelloHello只是放在常量池中?那如果str不是用new创建的会不会有影响?
2回答
str1.concat(str2) 后, str 指向了常量池的HelloHello
不管new 没new 常量池里都有一个新的字符串常量,并指向它
可以对比下面的理解
String s1 = "hello"; String s2 = "hel".concat("lo"); String s3 = "hel"+"lo"; System.out.println(s1 == s2); // false System.out.println(s1 == s3); // true
大饼蓝
2017-10-29
把老师给你回复的内容仔细看看,然后你再看看这张图,s1和s3指向的时同一个对象,所以s1 == s3 为true;s1 == s2 为false,因为s1和s2指向的时不同的对象,所以地址也不同。
相似问题