StringBuffer和StringBuilder的区别
查看java API StringBuffer和StringBuilder的方法基本一样
StringBuffer是jdk1.0版本的,线程安全,可以加锁,执行效率较低
StringBuilder是jdk1.5版本的,线程不安全,执行效率较高
String StringBuffer和StringBuilder的区别
String是不可变的字符序列
StringBuffer和StringBuilder是可变的字符序列
StringBuffer的默认初始长度为16
应用举例
public class MyStringBuffer {
public static void main(String[] args) {
// TODO Auto-generated method stub
//构造一个缺省的StringBuffer
StringBuffer sb1=new StringBuffer();
//StringBuffer的初始容量
System.out.println(sb1.capacity());
//StringBuffer的内容长度
System.out.println(sb1.length());
}
}
运行结果
16
0
public class MyStringBuffer {
public static void main(String[] args) {
// TODO Auto-generated method stub
//构造一个指定容量为22的StringBuffer
StringBuffer sb2=new StringBuffer(22);
//StringBuffer的初始容量
System.out.println(sb2.capacity());
//StringBuffer的内容长度
System.out.println(sb2.length());
}
}
运行结果
22
0
import java.util.Scanner;
public class MyStringBuffer {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
String st=s.nextLine();
//构造一个指定为字符串st的StringBuffer
StringBuffer sb2=new StringBuffer(st);
//StringBuffer的容量
System.out.println(sb2.capacity());
//StringBuffer的长度
System.out.println(sb2.length());
}
}
运行结果
aloha
21
5