JAVA系列:StringBuffer、StringBuilder、String区别

目录

基本区别

追加字符串的区别

扩展


基本区别

  • String 是final类,即不能被继承.

JAVA系列:StringBuffer、StringBuilder、String区别

 

  • StringBuffer:字符串缓冲区,一个线程安全的存储字符容器。

JAVA系列:StringBuffer、StringBuilder、String区别

JAVA系列:StringBuffer、StringBuilder、String区别

 

  • StringBuilder:字符串缓冲区,非线程安全,但效率高。  

JAVA系列:StringBuffer、StringBuilder、String区别

JAVA系列:StringBuffer、StringBuilder、String区别

JAVA系列:StringBuffer、StringBuilder、String区别

单线程操作,使用StringBuilder效率高;多线程操作,使用StringBuffer安全。

 

 

追加字符串的区别

  • String +=  : 每次新开辟一个地址,每次重新指向该地址 
  • StringBuffer   append :在原有字符串的后面直接追加 (线程安全
  • StringBuilder  append :在原有字符串的后面直接追加 (非线程安全)

 

扩展

>> String容易出错的用法

>> String的intern()方法的使用