String 和 StringBuilder及StringBuffer的区别(都被final修饰,不能被继承)
* 1、String 的拼接会产生大量临时变量。StringBuilder及StringBuffer不会(因为可以更改)
* 2、String 拼接会被优化为StringBuilder的append()
* 3、String和StringBuilder一般用于单线程情况下,
StringBuffer一般用于多线程(synchronized 线程安全) 最常用
public static void main(String[] args) {
String str = "abcdef";
str = str + "hello";
System.out.println(str);
}
public static void main(String[] args) {
String str = "";
for (int i = 0; i < 10; i++) {
str +='a';
}
System.out.println(str);
StringBuilder s2 = new StringBuilder();
for (int i = 0; i < 10; i++) {
s2.append("a");
}
System.out.println(s2);
StringBuffer s3 = new StringBuffer();
s3.append("hello");
System.out.println(s3);
s3.reverse();//StringBuffer()中有逆置方法
System.out.println(s3);
String s = "hello";
s = s + "world";
System.out.println(s);
StringBuilder s1 = new StringBuilder();
s1.append("hello");
s1.append("world");
String ret = s1.toString();
System.out.println(ret);
//StringBuffer stringBuffer = new StringBuffer();
/*StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("abcd");
stringBuilder.append("efg").append("1234");
System.out.println(stringBuilder);*/
}