1.为什么string要设计成不可变对象
原因:安全,效率,字符串常量池的综合考虑
详细地址:http://blog.csdn.net/renfufei/article/details/16808775
2.string中"+"的实际运行原理是如何的
具体说原理的话,两个字符串相加,相当于执行了如下操作:
str1 + str2 执行了下面的过程:
str1 + str2 执行了下面的过程:
StringBuffer sb1 = new StringBuffer(str1);
sb1.append(str2);
String result1 = sb1.toString();
而相对来说使用StringBuffer来进行字符串连接的话,
StringBuffer sb = new StringBuffer();
sb.append(str1);
sb.append(str2);
.....
sb.append(strN);
String result = sb.toString();
3.Stringbuilder的存在意义:对于频繁修改的字符串类型,替代string,节省内存资源