黑马程序员技术交流社区
标题:
String类面试题
[打印本页]
作者:
谢晓明
时间:
2015-6-3 00:22
标题:
String类面试题
String类面试题
1.
public static void main(String[] args) {
String s = "abc";
change(s);
System.out.println(s);
}
public static void change(String s) {
s += "hello";
}
注:基本类型 -- 形式参数改变不影响实际参数。
引用类型 -- 形式参数改变直接影响实际参数。
但是,字符串是特殊的引用类型,实参传递到形参时,实际上是把值传递给了形参。
-- 如果是StringBuffer.则打印的是abchello。StringBuffer容量可变。
2. 字符串拼接问题
public static void main(String[] args) {
String s1 = "a";
String s2 = "b";
String s3 = "ab";
System.out.println(s3 == s1 + s2); // false
System.out.println(s3 == "a" + "b"); // true,常量的运算会在编译期间就计算,所以"a"+"b"在编译后就是"ab"
}
注:JVM对于字符串引用,由于在字符串的"+"连接中,有字符串引用存在,而引用的值在程序编译期是无法确定的。
JVM对于字符串常量的"+"号连接,在程序编译期,JVM就将常量字符串的"+"连接优化为连接后的值。
作者:
jiatengde
时间:
2015-6-3 00:29
新人报道,正在努力中
作者:
kmlitheima
时间:
2015-6-3 09:18
这种解释,还没听过,正在努力中!
作者:
白水丶
时间:
2015-6-3 10:06
学习了~~
作者:
edithe
时间:
2015-6-3 10:49
第二个就是说编译器只能确定常量,不能确定变量
作者:
追忆似水年华
时间:
2015-6-3 12:52
学习。顶一下。
作者:
沁儿的花祭
时间:
2015-6-3 13:19
黑马币 我的
作者:
iamnoten
时间:
2015-6-3 13:24
强,学习了
作者:
Tangtang
时间:
2015-6-3 13:39
嗯,不错,过来学习学习
作者:
ywang
时间:
2015-6-3 13:59
努力之中!
作者:
hellotaomi
时间:
2015-6-3 17:31
又学到了一些东西,嘿嘿~
作者:
l598790586
时间:
2015-6-3 18:43
学习中!!
作者:
飘过的云
时间:
2015-6-3 21:10
好厉害的样子,学习了 ,谢谢,顶。。。。
作者:
java8023
时间:
2015-6-3 21:24
解答的还算可以吧,只不过还不能太好啊,只是记结论还是没有很好的从根本上说明啊
作者:
城北一直晴。
时间:
2015-6-3 22:39
我也没有听过这种解释。加油!
作者:
zuoyou
时间:
2015-6-6 13:24
学习,,,
作者:
Monster
时间:
2015-6-6 13:49
学习了,从来没想这么多
作者:
开弓没有回头箭
时间:
2015-6-6 14:00
又巩固了知识
作者:
花千骨
时间:
2015-7-23 22:51
很好很实用!
作者:
路遥知马力
时间:
2015-7-23 23:58
学习了!
作者:
fantianfei
时间:
2015-7-24 00:06
噢噢噢噢
作者:
wanghua1
时间:
2015-7-24 00:11
总结的可以
作者:
袁月明
时间:
2015-7-24 00:16
加油加油加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2