1. 程式人生 > 實用技巧 >Java常用類之字串類

Java常用類之字串類

String 的特性

public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
/** The value is used for character storage. */
private final char value[];
/** Cache the hash code for the string */
private int hash; // Default to 0

String 物件的建立

String str = "hello";
// 本質上this.value = new char[0];
String s1 = new String(); //this.value = original.value; String s2 = new String(String original); //this.value = Arrays.copyOf(value, value.length); String s3 = new String(char[] a); String s4 = new String(char[] a,int startIndex,int count);

字串物件是如何儲存的

String使用陷阱

String 常用方法

int length() :返回字串的長度: return
value.length  char charAt(int index): : 返回某索引處的字元return value[index]  boolean isEmpty() :判斷是否是空字串:return value.length == 0  String toLowerCase() :使用預設語言環境,將 String 中的所有字元轉換為小寫  String toUpperCase() :使用預設語言環境,將 String 中的所有字元轉換為大寫  String trim(): :返回字串的副本,忽略前導空白和尾部空白  boolean equals(Object obj): :比較字串的內容是否相同 
boolean equalsIgnoreCase(String anotherString) :與equals方法類似,忽略大小寫  String concat(String str) :將指定字串連線到此字串的結尾。 等價於用“+”  int compareTo(String anotherString): :比較兩個字串的大小  String substring(int beginIndex): :返回一個新的字串,它是此字串的從beginIndex開始擷取到最後的一個子字串。  String substring(int beginIndex, int endIndex) : :返回一個新字串,它是此字串從beginIndex開始擷取到endIndex(不包含)的一個子字串。  boolean endsWith(String suffix): :測試此字串是否以指定的字尾結束  boolean startsWith(String prefix): :測試此字串是否以指定的字首開始  boolean startsWith(String prefix, int toffset): :測試此字串從指定索引開始的子字串是否以指定字首開始  boolean contains(CharSequence s) :當且僅當此字串包含指定的 char 值序列時,返回 trueint indexOf(String str): :返回指定子字串在此字串中第一次出現處的索引  int indexOf(String str, int fromIndex): :返回指定子字串在此字串中第一次出現處的索引,從指定的索引開始  int lastIndexOf(String str): :返回指定子字串在此字串中最右邊出現處的索引  int lastIndexOf(String str, int fromIndex): :返回指定子字串在此字串中最後一次出現處的索引,從指定的索引開始反向搜尋----注:indexOf和lastIndexOf方法如果未找到都是返回-1  String replace(char oldChar, char newChar): :返回一個新的字串,它是通過用 newChar 替換此字串中出現的所有 oldChar 得到的。  String replace(CharSequence target, CharSequence replacement): :使用指定的字面值替換序列替換此字串所有匹配字面值目標序列的子字串。  String replaceAll(String regex, String replacement) : : 使 用 給 定 的replacement 替換此字串所有匹配給定的正則表示式的子字串。  String replaceFirst(String regex, String replacement) : : 使 用 給 定 的replacement 替換此字串匹配給定的正則表示式的第一個子字串。  boolean matches(String regex): :告知此字串是否匹配給定的正則表示式。  String[] split(String regex): :根據給定正則表示式的匹配拆分此字串。  String[] split(String regex, int limit): :根據匹配給定的正則表示式來拆分此字串,最多不超過limit個,如果超過了,剩下的全部都放到最後一個元素中。

字串相關的類:StringBuffer

StringBuffer代表 可變的字元 序列,JDK1.0中宣告,可以對字串內容進行增刪,此時不會產生新的物件。

StringBuffer類的常用方法

StringBuffer append(xxx):提供了很多的append()方法,用於進行字串拼接
StringBuffer delete(int start,int end):刪除指定位置的內容
StringBuffer replace(int start, int end, String str):把[start,end)位置替換為str
StringBuffer insert(int offset, xxx):在指定位置插入xxx
StringBuffer reverse() :把當前字元序列逆轉
public int indexOf(String str)
public String substring(int start,int end)
public int length()
public char charAt(int n )
public void setCharAt(int n ,char ch)

字串相關的類:StringBuilder