String类:
StringBuffer和StringBuilder的区别 和使用场景:
StringBuffer在修改时会改变对象自身
每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下我们推荐使用 StringBuffer ,特别是字符串对象经常改变的情况下。StringBuffer 上的主要操作是 append 和 insert 方法。
StringBuffer strBuffer = new StringBuffer("abc");//地址strBuffer,值是abc
strBuffer.append("def");//地址strBuffer,值是abcdef
StringBuilder是可变的对象
此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。
总结:
1.多线程操作字符串缓冲区下操作大量数据 StringBuffer;2.单线程操作字符串缓冲区下操作大量数据 StringBuilder。
3.stringbuffer基本没有适用场景,99%情况下在所有的情况下选择使用stringbuiler。
String类中 “+”和concat方法的用法场景示例:
System.out.println("***********成绩单************"); String string="SQL:"+80; String string1="JAVA:"+90; String string2="HTML:"+86.7; System.out.println(string+" "+string1+" "+string2); String string3="版权所有:"; String string4="北大青鸟"; String string5=string3.concat(string4); System.out.println(); System.out.println(" "+string5);
输出结果是:
***********成绩单************
SQL:80 JAVA:90 HTML:86.7
版权所有:北大青鸟