Java String对象的问题 String s="a"+"b"+"c"+"d"
1, String s=
"a"
+
"b"
+
"c"
+
"d"
创建了几个对象(假设之前串池是空的)
2,StringBuilder sb =
new
StringBuilder();
String a =
"a"
;
String b =
"b"
;
String c =
"c"
;
String d =
"d"
;
String s = a+b+c+d; 这句话创建了几个对象
StringBuilder sb =
new
StringBuilder();
sb.append(
"a"
).append(
"b"
).append(
"c"
).append(
"d"
);这句话创建了几个对象
-------------------------------------------------------------------------------------------
答案是 7 3 0
第一题:“a”“b”“c”“d” “ab”“abc”“abcd”
第二题: “ab”“abc”“abcd”
第三题:因为a”“b”“c”“d”在串池中已经存在,不会创建对象,并且StringBuilder添加字符串的时候跟String
是不一样的,StringBuilder是不会创建对象的(所以说我们在增加字符串长度的时候尽量用StringBuilder,这样会少创建对象,节省资源,提高效率)
所以是0个对象
详细的去看 这个网址吧。:这个坑好深
https://www.cnblogs.com/zgz345/p/6640826.html
还有这个