String ,StringBuilder(),StringBuffer()笔记。

今天才知道java中的String 竟然是不可变的,每次我们改变String中的值时实际上是在内存中创建了一个新的字符串,字符串变量将引用新创建的字符串地址。这样的话当我们大量对一个String进行更改时就相当于创建了大量的String。例如:
String S1 = “Hello_World”;
For(int i = 0 ; i < 100000 ; i++)
{
S1 + = “O M G”;

我想对于任何一名程序员来说这种无意义的浪费都是不能容忍的。
这时候就该用到StringBuilder()了。StringBuilder()创建的字符串是可以通过一些方法改变的。
例如:append()——在末尾增添字符串。
insert()——插入字符串。
setCharAt()——替换字符。
并且可以调用toString()转换成String。

至于StringBuffer()其实和StringBuilder()差不多。StringBuffer()是线程安全的而StringBuilder()不是。所以如果不考虑线程安全和同步方面的问题的话应改优先考虑使用StringBuilder类,因为StringBuilder()性能要好一些。