A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© H_shaohui 中级黑马   /  2016-4-14 20:26  /  273 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

因为String被设计成一种安全的字符串, 避免了C/C++中的尴尬。因此在内部操作的时候会频繁的进行对象的交换, 因此它的效率不如StringBuffer 如果需要频繁的进行字符串的增删操作的话最好用StringBuffer 比如拼SQL文, 写共函。 另: 编绎器对String+操作进行了一定的优化。
x = "a" + 4 + "c"
会被编绎成
x = new StringBuffer().append("a").append(4).append("c").toString()
但:
x = “a”;
x = x + 4;
x = x + “c”;
则不会被优化。 可以看出如果在一个表达式里面进行String的多次+操作会被优化, 而多个表达式的+操作不会被优化。


1 个回复

倒序浏览
学习了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马