1. 程式人生 > >Java-String和StringBuffer,基本型別包裝類

Java-String和StringBuffer,基本型別包裝類

String

  • String類是final類,String物件是常量物件,被初始化或賦值後,它的值和所分配的記憶體內容就不可再改變

當需要重新賦值的時候,系統發現原來的空間不能再追加新的內容,系統只能重新生成第二個新的物件str並重新申請一個新的記憶體空間。

  • substring方法可以獲得字串的子串
str.substring(2);//從2開始到最後
str.substring(2,4);//包括2,但不包括4
  • charAt方法可以獲得指定的字元,可用來實現字串倒轉
    String str="abcdefg";
    str.charAt(4);//獲得第六個字元
  • indexOf方法幫助查詢子串或者字元的位置
String str="abcdefg";
str.indexOf(a);
str.indexOf(ef);

  • split方法實現對字串分割
  • 可以使用equals方法檢測兩個字串是否相等,equalsIgnoreCse方法可以不區分大小寫來檢測兩個字串是否相等
  • 不用使用“==”運算子檢測兩個字串是否相等,因為這個運算子只能夠確定兩個字串是否放置在同一個位置上

StringBuffer

  • StringBuffer類用於建立和操作動態字串
  • StringBuffer預設的容量是16個字元,如果超過初期的容量,StringBuffer物件會自動擴充套件以符合要求,capacity方法返回為物件分配的字元數(記憶體),length方法返回物件目前儲存的字元數。
		StringBuffer sb=new StringBuffer();
		System.out.println(sb.capacity());//返回16
		System.out.println(sb.length());//返回0
  • charAt,substring方法的使用與String的相同
  • append方法將字串新增到當前StringBuffer物件內容的結尾
    StringBuffer sb=new StringBuffer();
    sb.append("hello world");
  • setCharAt方法把指定的字元替換成別的字元
	StringBuffer sb=new StringBuffer();
		sb.append("hello world");
		System.out.println(sb.toString());
		sb.setCharAt(0, 'H');//把0號位替換成H
		System.out.println(sb.toString());
  • insert方法在指定的位置插入字元或者字串,該方法有多個過載版本以容納各種資料型別
		StringBuffer sb=new StringBuffer();
		sb.append("hello world");
		sb.insert(2, "String");
  • reverse方法倒置StringBuffer的內容
    		StringBuffer sb=new StringBuffer();
    		sb.append("hello world");
    		System.out.println(sb.reverse().toString());

StringBuilde

StringBuilder一個可變的字元序列是5.0新增的。此類提供一個與 StringBuffer 相容的 API,但不保證同步。該類被設計用作 StringBuffer 的一個簡易替換,用在字串緩衝區被單個執行緒使用的時候(這種情況很普遍)。如果可能,建議優先採用該類,因為在大多數實現中,它比 StringBuffer 要快。兩者的方法基本相同。


Character

  • character類是char的包裝類,該類的方法可以對字元進行處理,如大小寫轉換等

    Integer Byte Double Float

  • 在使用String引數建立物件時,要用數值型String變數作為引數,否則會丟擲NumberFormatException異常
  • MAX_VALUE,MIN_VALUE:表示最大值和最小值。