String和StringBuffer的区别和不同

2015-01-03 06:30:02 阅读( 41 )

2440人 收藏本页

标签:Java面试题

StingBuffer是一个可变的字符串,它可以被更改。同时StringBuffer是Thread   safe的,   你可以放心的使用.

因为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的多次+操作会被优化,   而多个表达式的+操作不会被优化。

来自IT公司面试手册

下一篇:equal和==的区别

上一篇:面向对象编程OOP的优点

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题