Java-String和StringBuffer,基本型別包裝類
阿新 • • 發佈:2018-11-23
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:表示最大值和最小值。