String&StringBuffer&StringBuilder

来源:互联网 发布:笔记本电脑录像软件 编辑:程序博客网 时间:2024/05/20 15:10
String、StringBuffer、StringBuilder被称为字符串三姐妹。在不考虑多线程的情况下,字符串效率为StringBuilder类>StringBuffer类>StringBuilder类


String
字符串在开发出是最常用的。为了方便我们对字符串的操作,Java把字符串进行了封装,这个封装类就是String类,属于java.lang包。

常用构造方法为:
空构造 public String()
参数为字节数组 public String(byte[] bytes)
参数为字符数组 public String(char[] value)

字符串一旦初始化就不可以被改变,这里指的是内存空间中值的不可变。


String类中包含较多的方法,主要包括:
  • String类的判断功能方法
  • String类的获取功能方法
  • String类的转换功能方法
  • String类的其他功能方法
StringBuffer
StringBuffer类是字符串缓冲区,跟String类似用来存储字符串数据。StringBuffer类属于java.lang包。

常用构造方法:
public StringBuffer();无参构造方法,构造一个空的字符串缓冲区,初始容量为16个字节。
public StringBuffer(int capacity),构造一个指定容量的空的字符串缓冲区。
public StringBuffer(String str),使用一个字符串作为初始内容来构造一个字符串缓冲区,并在构面预留16个字符的空缓冲区。

StringBuffer类和String类有很多都一样或者相似,但是也有不同的地方,主要区别如下:
  • StringBuffer类侧重于对缓冲区的增、删、改等操作。
  • String内容是不可变的,但是StringBuffer是可变的,并且线程是安全的。


StringBuilder
StringBuilder类和StringBuffer类是兼容的,即两个类基本一样。

总结
如果是少量的、不频繁的字符串操作,首选String 

如果是单线程大量、频繁的操作字符串,推荐StringBuilder 

如果是多线程大量、频繁的操作字符串,只能StringBuffer 
0 0