String类StringBuffer和StringBuilder类

Posted fax1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String类StringBuffer和StringBuilder类相关的知识,希望对你有一定的参考价值。

 String

String类有11种构造方法,这些方法提供不同的参数来初始化字符串,比如提供一个字符数组参数:

 

1 package test;
2 
3 public class Test{
4       public static void main(String args[]){
5           char[] helloArray = { ‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘.‘};
6           String helloString = new String(helloArray);  
7           System.out.println( helloString );
8        }
9   }
hello.

 

 StringBuffer和StringBuilder类

当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。

和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据)。

由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。

1 package test;
2 
3 public class Test{
4     public static void main(String args[]){
5        StringBuffer sBuffer = new StringBuffer(" test");
6        sBuffer.append(" String Buffer");
7        System.out.println(sBuffer);  
8    }
9 }

技术分享图片

 

以上是关于String类StringBuffer和StringBuilder类的主要内容,如果未能解决你的问题,请参考以下文章

重温java中的String,StringBuffer,StringBuilder类

StringBuffer类

Java StringBuffer 和 StringBuilder 类

Java StringBuffer和StringBuilder类

String类菜鸟级教程(字符串常量池及不可变,StringBuffer 和 StringBuilder)

String类菜鸟级教程(字符串常量池及不可变,StringBuffer 和 StringBuilder)