String類、StringBuffer和StringBuilder類
阿新 • • 發佈:2018-07-26
構造方法 inf 先後 uil 可能 速度 tro col 多線程
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類