天天看點

Java String類詳解

Java String類詳解

Java字元串類(java.lang.String)是Java中使用最多的類,也是最為特殊的一個類,很多時候,我們對它既熟悉又陌生。

類結構:

public final class String

extends Object

implements Serializable, Comparable<String>, CharSequence

類概述:

 Java程式中的所有字面值(string literals),即雙引号括起的字元串,如"abc",都是作為String類的執行個體實作的。

  String是常量,其對象一旦構造就不能再被改變。換句話說,String對象是不可變的,每一個看起來會修改String值的方法,實際上都是創造了一個全新的String對象,以包含修改後的字元串内容。

String對象具有隻讀特性,指向它的任何引用都不可能改變它的值,是以,也不會對其他的引用有什麼影響。

構造方法:

Public Constructors

String()

構造一個空字元串。

String(byte[] data)

将位元組數組轉換為字元串使用系統的default charset​

​。(​

​通過byte數組構造字元串對象。​

​)​

String(byte[] data, int offset, int byteCount)

将位元組數組中指定位元組轉換成字元串。

String(byte[] data, int offset, int byteCount, String charsetName)

使用指定的字元集,将位元組數組中指定位元組轉換成字元串。

String(byte[] data, String charsetName)

使用指定的字元集,将位元組數組轉換成一個字元串。

String(byte[] data, int offset, int byteCount, Charset charset)

String(byte[] data, Charset charset)

使用指定的字元集,将位元組數組轉換成字元串。

String(char[] data)

将字元數組轉換成字元串

String(char[] data, int offset, int charCount)

将字元數組中指定字元轉換成字元串。

String(String toCopy)

構造一個toCopy的副本。即:拷貝一個toCopy。

String(StringBuffer stringBuffer)

将StringBuffer轉換成字元串。

String(int[] codePoints, int offset, int count)

 配置設定一個String,它包含該 Unicode 代碼點數組參數的一個子數組的字元。

String(StringBuilder stringBuilder)

将StringBuilder 轉換成字元串。

常用公有方法:

Public Methods
char

charAt(int index)

取字元串中的某一個字元,其中的參數index指的是字元串中序數。字元串的序數從0開始到length()-1 。

int

compareTo(String anotherString)

目前String對象與anotherString比較。相等傳回0;不相等時,從兩個字元串第0個字元開始比較,傳回第一個不相等的字元差,另一種情況,較長字元串的前面部分恰巧是較短的字元串,傳回它們的長度差。

String

concat(String str)

将該String對象與str連接配接在一起。提示:通過“+”串聯更友善。

boolean

contentEquals(CharSequence cs)

将該String對象與CharSequence的 對象cs進行比較。相等傳回true。

contentEquals(StringBuffer strbuf)

将該String對象與StringBuffer 的對象​

​strbuf​

​ 進行比較。相等傳回true。
static String

copyValueOf(char[] data, int start, int length)

将char數組中指定字元轉換成String。

copyValueOf(char[] data)

将char數組轉換成String。

endsWith(String suffix)

判斷該字元串是否以suffix結尾。是傳回true。

equals(Object anObject)

當anObject不為空并且與目前String對象一樣,傳回true;否則,傳回false。

equalsIgnoreCase(String string)

比較字元串與another是否一樣(忽略大小寫)。

byte[]

getBytes(String charsetName)

使用指定字元集,将該String對象轉換成byte數組。

getBytes(Charset charset)

getBytes()

将該String對象轉換成byte數組,使用預設字元集。

void

getChars(int start, int end, char[] buffer, int index)

将字元串拷貝到字元數組中。其中,start為拷貝的起始位置、end為拷貝的結束位置、字元串數值buffer為目标字元數組、index為目标字元數組的拷貝起始位置。

hashCode()

傳回目前字元的哈希表碼。

indexOf(int c)

自左向右隻找第一個比對字元位置。

indexOf(int c, int fromIndex)

從fromIndex開始自左向右找第一個比對字元位置。

indexOf(String subString, int fromIndex)

從fromIndex開始自左向右找第一個比對字元串位置。

indexOf(String string)

自左向右查找第一個比對字元串位置。

isEmpty()

如果字元串的長度為0,則傳回true。

lastIndexOf(String string)

自右向左查找第一個比對字元串位置。

lastIndexOf(int c, int fromIndex)

從fromIndex開始自右向左找第一個比對字元串位置。

lastIndexOf(int c)

自右向左查找第一個比對字元位置。

lastIndexOf(String subString, int start)

length()

傳回字元串的字元個數。

regionMatches(boolean ignoreCase, int thisStart, String string, int start, int length)

用于比較一個字元串中特定區域與另一特定區域。參數ignoreCase:是否允許在比較中忽略大小寫。如果比對傳回​

​true​

​。

regionMatches(int thisStart, String string, int start, int length)

用于比較一個字元串中特定區域與另一特定區域。如果比對傳回​

​true​

replace(CharSequence target, CharSequence replacement)

将字元号串中的target替換成replacement。

replace(char oldChar, char newChar)

将字元号串中的oldChar替換成newChar。

replaceAll(String regularExpression, String replacement)

将符合​

​regularExpression​

​ (增則表達式)的内容都替換成replacement。

replaceFirst(String regularExpression, String replacement)

隻将第一個符合​

​regularExpression​

String[]

split(String regularExpression)

将一個字元串按照指定的分隔符分隔,傳回分隔後的字元串數組。

split(String regularExpression, int limit)

将一個字元串按照指定的分隔符分隔,傳回分隔後的字元串數組。其中參數:limit控制模式應用的次數,是以影響結果數組的長度。​

​如果該限制 n 大于 0,則模式将被最多應用 n - 1 次,數組的長度将不會大于 n,而且數組的最後項将包含超出最後比對的定界符的所有輸入。如果 n 為負,則模式将被應用盡可能多的次數,并且結尾空字元串将不會被丢棄。如果 n 為零,則模式将被應用盡可能多的次數。​

startsWith(String prefix)

該String對象是否以prefix開始。

startsWith(String prefix, int start)

該String對象從toffset位置算起,是否以prefix開始。

CharSequence

subSequence(int start, int end)

取從start位置開始到end位置結束的CharSequence。

substring(int start)

取從start位置開始到結束的子字元串。

substring(int start, int end)

取從start位置開始到end位置結束的子字元串。

char[]

toCharArray()

将該String對象轉換成char數組。

toLowerCase()

将字元串轉換成小寫。

toUpperCase()

将字元串轉換成大寫。

trim()

移除字元串中的空格。

valueOf(long value)

将long 類型的對象轉換成字元串。

valueOf(Object value)

将value對象轉換成字元串。

valueOf(char[] data)

将char[]類型的對象轉換成字元串。

valueOf(double value)

将double類型的對象轉換成字元串。

valueOf(int value)

将int類型的對象轉換成字元串。

valueOf(float value)

float類型的對象轉換成字元串。

valueOf(char[] data, int start, int length)

将字元數組中從start位置開始長度為length的字元轉換成字元串。

valueOf(boolean value)

将boolean類型的對象轉換成字元串。

下一篇: Java String 類