鴻蒙OS String

2022-05-23 16:47 更新

String

java.lang.Object

|---java.lang.String

public final class String
extends Object
implements Serializable, Comparable<String>, CharSequence

String 類表示字符串。 Java 程序中的所有字符串文字,例如“abc”,都是作為此類的實例實現(xiàn)的。

字符串是常量; 它們的值在創(chuàng)建后無法更改。 字符串緩沖區(qū)支持可變字符串。 因為 String 對象是不可變的,所以它們可以被共享。 例如:

     String str = "abc"; 

相當于:

     char data[] = {'a', 'b', 'c'};     String str = new String(data); 

以下是有關(guān)如何使用字符串的更多示例:

     System.out.println("abc");
     String cde = "cde";
     System.out.println("abc" + cde);
     String c = "abc".substring(2,3);
     String d = cde.substring(1, 2);

String 類包括檢查序列的單個字符、比較字符串、搜索字符串、提取子字符串以及創(chuàng)建字符串副本的方法,其中所有字符都轉(zhuǎn)換為大寫或小寫。大小寫映射基于 Character 類指定的 Unicode 標準版本。

Java 語言為字符串連接運算符 ( + ) 以及將其他對象轉(zhuǎn)換為字符串提供了特殊支持。字符串連接是通過 StringBuilder(或 StringBuffer)類及其 append 方法實現(xiàn)的。字符串轉(zhuǎn)換是通過 toString 方法實現(xiàn)的,由 Object 定義并由 Java 中的所有類繼承。有關(guān)字符串連接和轉(zhuǎn)換的更多信息,請參閱 Gosling、Joy 和 Steele,Java 語言規(guī)范。

除非另有說明,否則將 null 參數(shù)傳遞給此類中的構(gòu)造函數(shù)或方法將導(dǎo)致拋出 NullPointerException。

String 表示 UTF-16 格式的字符串,其中補充字符由代理對表示(有關(guān)更多信息,請參見 Character 類中的 Unicode Character Representations 部分)。索引值指的是字符代碼單元,因此補充字符使用字符串中的兩個位置。

除了處理 Unicode 代碼單元(即 char 值)的方法之外,String 類還提供了處理 Unicode 代碼點(即字符)的方法。

字段摘要

修飾符和類型 字段 描述
static ComparatorString CASE_INSENSITIVE_ORDER 一個比較器,它按照 compareToIgnoreCase 對 String 對象進行排序。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
String() 初始化一個新創(chuàng)建的 String 對象,使其表示一個空字符序列。
String(byte[] bytes) 通過使用平臺的默認字符集解碼指定的字節(jié)數(shù)組來構(gòu)造一個新的字符串。
String(byte[] ascii, int hibyte) 已棄用。 此方法不能正確地將字節(jié)轉(zhuǎn)換為字符。 從 JDK 1.1 開始,執(zhí)行此操作的首選方法是通過采用 Charset、字符集名稱或使用平臺默認字符集的 String 構(gòu)造函數(shù)。
String(byte[] bytes, int offset, int length) 通過使用平臺的默認字符集解碼指定的字節(jié)子數(shù)組來構(gòu)造一個新的字符串。
String(byte[] ascii, int hibyte, int offset, int count) 已棄用。 此方法不能正確地將字節(jié)轉(zhuǎn)換為字符。 從 JDK 1.1 開始,執(zhí)行此操作的首選方法是通過采用 Charset、字符集名稱或使用平臺默認字符集的 String 構(gòu)造函數(shù)。
String(byte[] bytes, int offset, int length, String charsetName) 通過使用指定的字符集解碼指定的字節(jié)子數(shù)組來構(gòu)造一個新的字符串。
String(byte[] bytes, int offset, int length, Charset charset) 通過使用指定的字符集解碼指定的字節(jié)子數(shù)組來構(gòu)造一個新的字符串。
String(byte[] bytes, String charsetName) 通過使用指定的字符集解碼指定的字節(jié)數(shù)組來構(gòu)造一個新的字符串。
String(byte[] bytes, Charset charset) 通過使用指定的字符集解碼指定的字節(jié)數(shù)組來構(gòu)造一個新的字符串。
String(char[] value) 分配一個新的 String 以便它表示當前包含在字符數(shù)組參數(shù)中的字符序列。
String(char[] value, int offset, int count) 分配一個新字符串,該字符串包含來自字符數(shù)組參數(shù)的子數(shù)組的字符。
String(int[] codePoints, int offset, int count) 分配一個新字符串,其中包含來自 Unicode 代碼點數(shù)組參數(shù)的子數(shù)組的字符。
String(String original) 初始化一個新創(chuàng)建的 String 對象,使其表示與參數(shù)相同的字符序列; 換句話說,新創(chuàng)建的字符串是參數(shù)字符串的副本。
String(StringBuffer buffer) 分配一個新字符串,該字符串包含字符串緩沖區(qū)參數(shù)中當前包含的字符序列。
String(StringBuilder builder) 分配一個新字符串,該字符串包含字符串構(gòu)建器參數(shù)中當前包含的字符序列。

方法總結(jié)

修飾符和類型 方法 描述
char charAt(int index) 返回指定索引處的 char 值。
int codePointAt(int index) 返回指定索引處的字符(Unicode 代碼點)。
int codePointBefore(int index) 返回指定索引之前的字符(Unicode 代碼點)。
int codePointCount(int beginIndex, int endIndex) 返回此 String 的指定文本范圍內(nèi)的 Unicode 代碼點數(shù)。
int compareTo(String anotherString) 按字典順序比較兩個字符串。
int compareToIgnoreCase(String str) 按字典順序比較兩個字符串,忽略大小寫差異。
String concat(String str) 將指定的字符串連接到此字符串的末尾。
boolean contains(CharSequence s) 當且僅當此字符串包含指定的 char 值序列時才返回 true。
boolean contentEquals(CharSequence cs) 將此字符串與指定的 CharSequence 進行比較。
boolean contentEquals(StringBuffer sb) 將此字符串與指定的 StringBuffer 進行比較。
static String copyValueOf(char[] data) 等效于 [valueOf(char])。
static String copyValueOf(char[] data, int offset, int count) 等效于 [valueOf(char],int,int)。
boolean endsWith(String suffix) 測試此字符串是否以指定的后綴結(jié)尾。
boolean equals(Object anObject) 將此字符串與指定對象進行比較。
boolean equalsIgnoreCase(String anotherString) 將此字符串與另一個字符串進行比較,忽略大小寫注意事項。
static String format(String format, Object... args) 返回使用指定格式字符串和參數(shù)的格式化字符串。
static String format(Locale l, String format, Object... args) 返回使用指定語言環(huán)境、格式字符串和參數(shù)的格式化字符串。
byte[] getBytes() 使用平臺的默認字符集將此字符串編碼為字節(jié)序列,并將結(jié)果存儲到新的字節(jié)數(shù)組中。
void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 已棄用。 此方法不能正確地將字符轉(zhuǎn)換為字節(jié)。 從 JDK 1.1 開始,執(zhí)行此操作的首選方法是通過 getBytes() 方法,該方法使用平臺的默認字符集。
byte[] getBytes(String charsetName) 使用命名字符集將此字符串編碼為字節(jié)序列,并將結(jié)果存儲到新的字節(jié)數(shù)組中。
byte[] getBytes(Charset charset) 使用給定的字符集將此字符串編碼為字節(jié)序列,并將結(jié)果存儲到新的字節(jié)數(shù)組中。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 將此字符串中的字符復(fù)制到目標字符數(shù)組中。
int hashCode() 返回此字符串的哈希碼。
int indexOf(int ch) 返回此字符串中第一次出現(xiàn)指定字符的索引。
int indexOf(int ch, int fromIndex) 返回此字符串中第一次出現(xiàn)指定字符的索引,從指定索引開始搜索。
int indexOf(String str) 返回此字符串中第一次出現(xiàn)指定子字符串的索引。
int indexOf(String str, int fromIndex) 返回此字符串中第一次出現(xiàn)指定子字符串的索引,從指定索引開始。
String intern() 返回字符串對象的規(guī)范表示。
boolean isEmpty() 當且僅當 length() 為 0 時返回 true。
static String join(CharSequence delimiter, CharSequence... elements) 返回一個由 CharSequence 元素的副本和指定分隔符的副本連接在一起的新字符串。
static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) 返回一個由 CharSequence 元素的副本和指定分隔符的副本連接在一起的新字符串。
int lastIndexOf(int ch) 返回此字符串中最后一次出現(xiàn)指定字符的索引。
int lastIndexOf(int ch, int fromIndex) 返回此字符串中指定字符最后一次出現(xiàn)的索引,從指定索引開始向后搜索。
int lastIndexOf(String str) 返回此字符串中最后一次出現(xiàn)指定子字符串的索引。
int lastIndexOf(String str, int fromIndex) 返回此字符串中指定子字符串最后一次出現(xiàn)的索引,從指定索引開始向后搜索。
int length() 返回此字符串的長度。
boolean matches(String regex) 判斷此字符串是否與給定的正則表達式匹配。
int offsetByCodePoints(int index, int codePointOffset) 返回此 String 中的索引,該索引從給定索引偏移 codePointOffset 代碼點。
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 測試兩個字符串區(qū)域是否相等。
boolean regionMatches(int toffset, String other, int ooffset, int len) 測試兩個字符串區(qū)域是否相等。
String replace(char oldChar, char newChar) 返回一個字符串,該字符串是用 newChar 替換此字符串中所有出現(xiàn)的 oldChar 所產(chǎn)生的。
String replace(CharSequence target, CharSequence replacement) 用指定的文字替換序列替換此字符串中與文字目標序列匹配的每個子字符串。
String replaceAll(String regex, String replacement) 用給定的替換替換此字符串中與給定正則表達式匹配的每個子字符串。
String replaceFirst(String regex, String replacement) 用給定的替換替換此字符串中與給定正則表達式匹配的第一個子字符串。
String[] split(String regex) 圍繞給定正則表達式的匹配拆分此字符串。
String[] split(String regex, int limit) 圍繞給定正則表達式的匹配拆分此字符串。
boolean startsWith(String prefix) 測試此字符串是否以指定的前綴開頭。
boolean startsWith(String prefix, int toffset) 測試從指定索引開始的此字符串的子字符串是否以指定前綴開頭。
CharSequence subSequence(int beginIndex, int endIndex) 返回作為此序列子序列的字符序列。
String substring(int beginIndex) 返回作為此字符串的子字符串的字符串。
String substring(int beginIndex, int endIndex) 返回作為此字符串的子字符串的字符串。
char[] toCharArray() 將此字符串轉(zhuǎn)換為新的字符數(shù)組。
String toLowerCase() 使用默認語言環(huán)境的規(guī)則將此字符串中的所有字符轉(zhuǎn)換為小寫。
String toLowerCase(Locale locale) 使用給定語言環(huán)境的規(guī)則將此字符串中的所有字符轉(zhuǎn)換為小寫。
String toString() 這個對象(它已經(jīng)是一個字符串!)本身被返回。
String toUpperCase() 使用默認語言環(huán)境的規(guī)則將此字符串中的所有字符轉(zhuǎn)換為大寫。
String toUpperCase(Locale locale) 使用給定語言環(huán)境的規(guī)則將此字符串中的所有字符轉(zhuǎn)換為大寫。
String trim() 返回一個字符串,其值為該字符串,刪除了任何前導(dǎo)和尾隨空格。
static String valueOf(boolean b) 返回布爾參數(shù)的字符串表示形式。
static String valueOf(char c) 返回 char 參數(shù)的字符串表示形式。
static String valueOf(char[] data) 返回 char 數(shù)組參數(shù)的字符串表示形式。
static String valueOf(char[] data, int offset, int count) 返回 char 數(shù)組參數(shù)的特定子數(shù)組的字符串表示形式。
static String valueOf(double d) 返回 double 參數(shù)的字符串表示形式。
static String valueOf(float f) 返回 float 參數(shù)的字符串表示形式。
static String valueOf(int i) 返回 int 參數(shù)的字符串表示形式。
static String valueOf(long l) 返回 long 參數(shù)的字符串表示。
static String valueOf(Object obj) 返回 Object 參數(shù)的字符串表示形式。
從接口 java.lang.CharSequence 繼承的方法
chars, codePoints
從類 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

字段詳細信息

CASE_INSENSITIVE_ORDER

public static final ComparatorString CASE_INSENSITIVE_ORDER

一個比較器,它按照 compareToIgnoreCase 對 String 對象進行排序。 這個比較器是可序列化的。

請注意,此比較器不考慮語言環(huán)境,并且會導(dǎo)致某些語言環(huán)境的排序不令人滿意。 java.text 包提供了整理器以允許對區(qū)域設(shè)置敏感的排序。

構(gòu)造函數(shù)詳細信息

String

public String()

初始化一個新創(chuàng)建的 String 對象,使其表示一個空字符序列。 請注意,由于字符串是不可變的,因此不需要使用此構(gòu)造函數(shù)。

String

public String(String original)

初始化一個新創(chuàng)建的 String 對象,使其表示與參數(shù)相同的字符序列; 換句話說,新創(chuàng)建的字符串是參數(shù)字符串的副本。 除非需要原始的顯式副本,否則不需要使用此構(gòu)造函數(shù),因為字符串是不可變的。

參數(shù):

參數(shù)名稱 參數(shù)描述
original 一個string

String

public String(char[] value)

分配一個新的 String 以便它表示當前包含在字符數(shù)組參數(shù)中的字符序列。 字符數(shù)組的內(nèi)容被復(fù)制; 隨后對字符數(shù)組的修改不會影響新創(chuàng)建的字符串。

參數(shù):

參數(shù)名稱 參數(shù)描述
value 字符串的初始值

String

public String(char[] value, int offset, int count)

分配一個新字符串,該字符串包含來自字符數(shù)組參數(shù)的子數(shù)組的字符。 offset 參數(shù)是子數(shù)組第一個字符的索引,count 參數(shù)指定子數(shù)組的長度。 子數(shù)組的內(nèi)容被復(fù)制; 隨后對字符數(shù)組的修改不會影響新創(chuàng)建的字符串。

參數(shù):

參數(shù)名稱 參數(shù)描述
value 作為字符源的數(shù)組
offset 初始偏移
count 長度

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果偏移量和計數(shù)參數(shù)索引字符超出值數(shù)組的范圍

String

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

分配一個新字符串,其中包含來自 Unicode 代碼點數(shù)組參數(shù)的子數(shù)組的字符。 offset 參數(shù)是子數(shù)組的第一個代碼點的索引,count 參數(shù)指定子數(shù)組的長度。 子數(shù)組的內(nèi)容被轉(zhuǎn)換為字符; 后續(xù)修改 int 數(shù)組不會影響新創(chuàng)建的字符串。

參數(shù):

參數(shù)名稱 參數(shù)描述
codePoints 作為 Unicode 代碼點源的數(shù)組
offset 初始偏移
count 長度

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果在 codePoints 中發(fā)現(xiàn)任何無效的 Unicode 代碼點
IndexOutOfBoundsException 如果 offset 和 count 參數(shù)索引字符超出 codePoints 數(shù)組的范圍

String

@Deprecated public String(byte[] ascii, int hibyte, int offset, int count)

已棄用。 此方法不能正確地將字節(jié)轉(zhuǎn)換為字符。 從 JDK 1.1 開始,執(zhí)行此操作的首選方法是通過采用 Charset、字符集名稱或使用平臺默認字符集的 String 構(gòu)造函數(shù)。

分配從 8 位整數(shù)值數(shù)組的子數(shù)組構(gòu)造的新字符串。

offset 參數(shù)是子數(shù)組第一個字節(jié)的索引,count 參數(shù)指定子數(shù)組的長度。

子數(shù)組中的每個字節(jié)都轉(zhuǎn)換為上述方法中指定的字符。

參數(shù):

參數(shù)名稱 參數(shù)描述
ascii 要轉(zhuǎn)換為字符的字節(jié)
hibyte 每個 16 位 Unicode 代碼單元的前 8 位
offset 初始偏移
count 長度

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 offset 或 count 參數(shù)無效

String

@Deprecated public String(byte[] ascii, int hibyte)

已棄用。 此方法不能正確地將字節(jié)轉(zhuǎn)換為字符。 從 JDK 1.1 開始,執(zhí)行此操作的首選方法是通過采用 Charset、字符集名稱或使用平臺默認字符集的 String 構(gòu)造函數(shù)。

分配一個包含由 8 位整數(shù)值數(shù)組構(gòu)造的字符的新字符串。 生成的字符串中的每個字符 cin 都是從字節(jié)數(shù)組中的相應(yīng)組件 b 構(gòu)造的,這樣:

     c == (char)(((hibyte & 0xff) << 8)
                         | (b & 0xff))

參數(shù):

參數(shù)名稱 參數(shù)描述
ascii 要轉(zhuǎn)換為字符的字節(jié)
hibyte 每個 16 位 Unicode 代碼單元的前 8 位

String

public String(byte[] bytes, int offset, int length, String charsetName) throws UnsupportedEncodingException

通過使用指定的字符集解碼指定的字節(jié)子數(shù)組來構(gòu)造一個新的字符串。 新字符串的長度是字符集的函數(shù),因此可能不等于子數(shù)組的長度。

當給定字節(jié)在給定字符集中無效時,此構(gòu)造函數(shù)的行為未指定。 當需要對解碼過程進行更多控制時,應(yīng)使用 CharsetDecoder 類。

參數(shù):

參數(shù)名稱 參數(shù)描述
bytes 要解碼為字符的字節(jié)
offset 要解碼的第一個字節(jié)的索引
length 要解碼的字節(jié)數(shù)
charsetName 支持的字符集的名稱

Throws:

Throw名稱 Throw描述
UnsupportedEncodingException 如果不支持命名字符集
IndexOutOfBoundsException 如果偏移量和長度參數(shù)索引字符超出字節(jié)數(shù)組的范圍

String

public String(byte[] bytes, int offset, int length, Charset charset)

通過使用指定的字符集解碼指定的字節(jié)子數(shù)組來構(gòu)造一個新的字符串。 新字符串的長度是字符集的函數(shù),因此可能不等于子數(shù)組的長度。

此方法始終使用此字符集的默認替換字符串替換格式錯誤的輸入和不可映射的字符序列。 當需要對解碼過程進行更多控制時,應(yīng)使用 CharsetDecoder 類。

參數(shù):

參數(shù)名稱 參數(shù)描述
bytes 要解碼為字符的字節(jié)
offset 要解碼的第一個字節(jié)的索引
length 要解碼的字節(jié)數(shù)
charset 用于解碼字節(jié)的字符集

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果偏移量和長度參數(shù)索引字符超出字節(jié)數(shù)組的范圍

String

public String(byte[] bytes, String charsetName) throws UnsupportedEncodingException

通過使用指定的字符集解碼指定的字節(jié)數(shù)組來構(gòu)造一個新的字符串。 新字符串的長度是字符集的函數(shù),因此可能不等于字節(jié)數(shù)組的長度。

當給定字節(jié)在給定字符集中無效時,此構(gòu)造函數(shù)的行為未指定。 當需要對解碼過程進行更多控制時,應(yīng)使用 CharsetDecoder 類。

參數(shù):

參數(shù)名稱 參數(shù)描述
bytes 要解碼為字符的字節(jié)
charsetName 支持的字符集的名稱

Throws:

Throw名稱 Throw描述
UnsupportedEncodingException 如果不支持命名字符集

String

public String(byte[] bytes, Charset charset)

通過使用指定的字符集解碼指定的字節(jié)數(shù)組來構(gòu)造一個新的字符串。 新字符串的長度是字符集的函數(shù),因此可能不等于字節(jié)數(shù)組的長度。

此方法始終使用此字符集的默認替換字符串替換格式錯誤的輸入和不可映射的字符序列。 當需要對解碼過程進行更多控制時,應(yīng)使用 CharsetDecoder 類。

參數(shù):

參數(shù)名稱 參數(shù)描述
bytes 要解碼為字符的字節(jié)
charset 用于解碼字節(jié)的字符集

String

public String(byte[] bytes, int offset, int length)

通過使用平臺的默認字符集解碼指定的字節(jié)子數(shù)組來構(gòu)造一個新的字符串。 新字符串的長度是字符集的函數(shù),因此可能不等于子數(shù)組的長度。

當給定字節(jié)在默認字符集中無效時,此構(gòu)造函數(shù)的行為未指定。 當需要對解碼過程進行更多控制時,應(yīng)使用 CharsetDecoder 類。

參數(shù):

參數(shù)名稱 參數(shù)描述
bytes 要解碼為字符的字節(jié)
offset 要解碼的第一個字節(jié)的索引
length 要解碼的字節(jié)數(shù)

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果偏移量和長度參數(shù)索引字符超出字節(jié)數(shù)組的范圍

String

public String(byte[] bytes)

通過使用平臺的默認字符集解碼指定的字節(jié)數(shù)組來構(gòu)造一個新的字符串。 新字符串的長度是字符集的函數(shù),因此可能不等于字節(jié)數(shù)組的長度。

當給定字節(jié)在默認字符集中無效時,此構(gòu)造函數(shù)的行為未指定。 當需要對解碼過程進行更多控制時,應(yīng)使用 CharsetDecoder 類。

參數(shù):

參數(shù)名稱 參數(shù)描述
bytes 要解碼為字符的字節(jié)

String

public String(StringBuffer buffer)

分配一個新字符串,該字符串包含字符串緩沖區(qū)參數(shù)中當前包含的字符序列。 復(fù)制字符串緩沖區(qū)的內(nèi)容; 字符串緩沖區(qū)的后續(xù)修改不會影響新創(chuàng)建的字符串。

參數(shù):

參數(shù)名稱 參數(shù)描述
buffer 一個字符串緩沖區(qū)

String

public String(StringBuilder builder)

分配一個新字符串,該字符串包含字符串構(gòu)建器參數(shù)中當前包含的字符序列。 復(fù)制字符串生成器的內(nèi)容; 字符串生成器的后續(xù)修改不會影響新創(chuàng)建的字符串。

提供此構(gòu)造函數(shù)是為了簡化向 StringBuilder 的遷移。 通過 toString 方法從字符串生成器獲取字符串可能會運行得更快,并且通常是首選。

參數(shù):

參數(shù)名稱 參數(shù)描述
builder 一個字符串生成器

方法詳情

length

public int length()

返回此字符串的長度。 長度等于字符串中 Unicode 代碼單元的數(shù)量。

指定者:

接口 CharSequence 中的長度

返回:

此對象表示的字符序列的長度。

isEmpty

public boolean isEmpty()

當且僅當 length() 為 0 時返回 true。

返回:

如果 length() 為 0,則為 true,否則為 false

charAt

public char charAt(int index)

返回指定索引處的 char 值。 索引的范圍從 0 到 length() - 1。序列的第一個 char 值在索引 0 處,下一個在索引 1 處,依此類推,與數(shù)組索引一樣。

如果索引指定的 char 值是代理項,則返回代理項值。

指定者:

接口 CharSequence 中的 charAt

參數(shù):

參數(shù)名稱 參數(shù)描述
index char 值的索引。

返回:

此字符串的指定索引處的 char 值。 第一個 char 值位于索引 0 處。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 index 參數(shù)為負數(shù)或不小于此字符串的長度。

codePointAt

public int codePointAt(int index)

返回指定索引處的字符(Unicode 代碼點)。 索引指的是 char 值(Unicode 代碼單元),范圍從 0 到 length() - 1。

如果給定索引處指定的 char 值在高代理范圍內(nèi),后續(xù)索引小于此 String 的長度,并且后續(xù)索引處的 char 值在低代理范圍內(nèi),則補充代碼點 返回對應(yīng)于這個代理對。 否則,返回給定索引處的 char 值。

參數(shù):

參數(shù)名稱 參數(shù)描述
index char 值的索引

返回:

索引處字符的代碼點值

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 index 參數(shù)為負數(shù)或不小于此字符串的長度。

codePointBefore

public int codePointBefore(int index)

返回指定索引之前的字符(Unicode 代碼點)。 索引指的是 char 值(Unicode 代碼單元),范圍從 1 到 CharSequence#length()。

如果 (index - 1) 處的 char 值在低代理范圍內(nèi),(index - 2) 不為負,并且 (index - 2) 處的 char 值在高代理范圍內(nèi),則補充代碼點 返回代理對的值。 如果索引 - 1 處的 char 值是未配對的低代理或高代理,則返回代理值。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 應(yīng)返回的代碼點之后的索引

返回:

給定索引之前的 Unicode 代碼點值。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 index 參數(shù)小于 1 或大于此字符串的長度。

codePointCount

public int codePointCount(int beginIndex, int endIndex)

返回此 String 的指定文本范圍內(nèi)的 Unicode 代碼點數(shù)。 文本范圍從指定的 beginIndex 開始并擴展到索引 endIndex - 1 處的字符。因此,文本范圍的長度(以字符為單位)為 endIndex-beginIndex。 文本范圍內(nèi)的未配對代理項分別計為一個代碼點。

參數(shù):

參數(shù)名稱 參數(shù)描述
beginIndex 文本范圍的第一個字符的索引。
endIndex 文本范圍的最后一個字符之后的索引。

返回:

指定文本范圍內(nèi)的 Unicode 代碼點數(shù)

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 beginIndex 為負數(shù),或者 endIndex 大于此 String 的長度,或者 beginIndex 大于 endIndex。

offsetByCodePoints

public int offsetByCodePoints(int index, int codePointOffset)

返回此 String 中的索引,該索引從給定索引偏移 codePointOffset 代碼點。 由 index 和 codePointOffset 給出的文本范圍內(nèi)的未配對代理分別計為一個代碼點。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 要偏移的索引
codePointOffset 代碼點的偏移量

返回:

此字符串中的索引

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 index 為負或大于此字符串的長度,或者如果 codePointOffset 為正且以 index 開頭的子字符串少于 codePointOffset 代碼點,或者如果 codePointOffset 為負且 index 之前的子字符串少于 codePointOffset 代碼的絕對值 點。

getChars

public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

將此字符串中的字符復(fù)制到目標字符數(shù)組中。

要復(fù)制的第一個字符位于索引 srcBegin; 要復(fù)制的最后一個字符位于索引 srcEnd-1 處(因此要復(fù)制的字符總數(shù)為 srcEnd-srcBegin)。 字符被復(fù)制到 dst 的子數(shù)組中,從索引 dstBegin 開始,到索引結(jié)束:

     dstBegin + (srcEnd-srcBegin) - 1 

參數(shù):

參數(shù)名稱 參數(shù)描述
srcBegin 要復(fù)制的字符串中第一個字符的索引。
srcEnd 要復(fù)制的字符串中最后一個字符之后的索引。
dst 目標數(shù)組。
dstBegin 目標數(shù)組中的起始偏移量。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果以下任何一項為真:srcBegin 為負數(shù)。srcBegin 大于 srcEndsrcEnd 大于此字符串的長度 dstBegin 為負數(shù)dstBegin+(srcEnd-srcBegin) 大于 dst.length

getBytes

@Deprecated public void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)

已棄用。 此方法不能正確地將字符轉(zhuǎn)換為字節(jié)。 從 JDK 1.1 開始,執(zhí)行此操作的首選方法是通過 getBytes() 方法,該方法使用平臺的默認字符集。

將此字符串中的字符復(fù)制到目標字節(jié)數(shù)組中。 每個字節(jié)接收相應(yīng)字符的 8 個低位。 每個字符的高八位不被復(fù)制,不以任何方式參與傳輸。

要復(fù)制的第一個字符位于索引 srcBegin; 要復(fù)制的最后一個字符位于索引 srcEnd-1 處。 要復(fù)制的字符總數(shù)為 srcEnd-srcBegin。 轉(zhuǎn)換為字節(jié)的字符被復(fù)制到 dst 的子數(shù)組中,從索引 dstBegin 開始,到索引結(jié)束:

     dstBegin + (srcEnd-srcBegin) - 1 

參數(shù):

參數(shù)名稱 參數(shù)描述
srcBegin 要復(fù)制的字符串中第一個字符的索引
srcEnd 要復(fù)制的字符串中最后一個字符之后的索引
dst 目標數(shù)組
dstBegin 目標數(shù)組中的起始偏移量

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果以下任何一項為真:srcBegin 為負數(shù)srcBegin 大于 srcEndsrcEnd 大于此 StringdstBegin 的長度為負數(shù)dstBegin+(srcEnd-srcBegin) 大于 dst.length

getBytes

public byte[] getBytes(String charsetName) throws UnsupportedEncodingException

使用命名字符集將此字符串編碼為字節(jié)序列,并將結(jié)果存儲到新的字節(jié)數(shù)組中。

未指定此字符串無法在給定字符集中編碼時此方法的行為。 當需要對編碼過程進行更多控制時,應(yīng)使用 CharsetEncoder 類。

參數(shù):

參數(shù)名稱 參數(shù)描述
charsetName 支持的字符集的名稱

返回:

結(jié)果字節(jié)數(shù)組

Throws:

Throw名稱 Throw描述
UnsupportedEncodingException 如果不支持命名字符集

getBytes

public byte[] getBytes(Charset charset)

使用給定的字符集將此字符串編碼為字節(jié)序列,并將結(jié)果存儲到新的字節(jié)數(shù)組中。

此方法始終使用此字符集的默認替換字節(jié)數(shù)組替換格式錯誤的輸入和不可映射的字符序列。 當需要對編碼過程進行更多控制時,應(yīng)使用 CharsetEncoder 類。

參數(shù):

參數(shù)名稱 參數(shù)描述
charset 用于對字符串進行編碼的字符集

返回:

結(jié)果字節(jié)數(shù)組

getBytes

public byte[] getBytes()

使用平臺的默認字符集將此字符串編碼為字節(jié)序列,并將結(jié)果存儲到新的字節(jié)數(shù)組中。

當此字符串無法以默認字符集編碼時,此方法的行為未指定。 當需要對編碼過程進行更多控制時,應(yīng)使用 CharsetEncoder 類。

返回:

結(jié)果字節(jié)數(shù)組

equals

public boolean equals(Object anObject)

將此字符串與指定對象進行比較。 當且僅當參數(shù)不為 null 并且是表示與此對象相同的字符序列的 String 對象時,結(jié)果才為真。

覆蓋:

類 Object 中的等于

參數(shù):

參數(shù)名稱 參數(shù)描述
anObject 與此 String 進行比較的對象

返回:

如果給定對象表示與此字符串等效的字符串,則為 true,否則為 false

contentEquals

public boolean contentEquals(StringBuffer sb)

將此字符串與指定的 StringBuffer 進行比較。 當且僅當此 String 表示與指定 StringBuffer 相同的字符序列時,結(jié)果才為真。 此方法在 StringBuffer 上同步。

參數(shù):

參數(shù)名稱 參數(shù)描述
sb 與此 String 進行比較的 StringBuffer

返回:

如果此 String 表示與指定 StringBuffer 相同的字符序列,則為 true,否則為 false

contentEquals

public boolean contentEquals(CharSequence cs)

將此字符串與指定的 CharSequence 進行比較。 當且僅當此 String 表示與指定序列相同的 char 值序列時,結(jié)果才為真。 請注意,如果 CharSequence 是 StringBuffer,則該方法會在其上同步。

參數(shù):

參數(shù)名稱 參數(shù)描述
cs 與此字符串進行比較的序列

返回:

如果此 String 表示與指定序列相同的 char 值序列,則為 true,否則為 false

equalsIgnoreCase

public boolean equalsIgnoreCase(String anotherString)

將此字符串與另一個字符串進行比較,忽略大小寫注意事項。 如果兩個字符串的長度相同,并且兩個字符串中的對應(yīng)字符相等,忽略大小寫,則認為兩個字符串相等。

如果以下至少一項為真,則兩個字符 c1 和 c2 被認為是相同的忽略大小寫:

  • 兩個字符相同(由 == 運算符比較)
  • 將方法 Character.toUpperCase(char) 應(yīng)用于每個字符會產(chǎn)生相同的結(jié)果
  • 將方法 Character.toLowerCase(char) 應(yīng)用于每個字符會產(chǎn)生相同的結(jié)果

參數(shù):

參數(shù)名稱 參數(shù)描述
anotherString 與此字符串進行比較的字符串

返回:

如果參數(shù)不為 null 并且它表示忽略大小寫的等效字符串,則為 true; 否則為假

compareTo

public int compareTo(String anotherString)

按字典順序比較兩個字符串。比較基于字符串中每個字符的 Unicode 值。此 String 對象表示的字符序列按字典順序與參數(shù)字符串表示的字符序列進行比較。如果此 String 對象按字典順序位于參數(shù)字符串之前,則結(jié)果為負整數(shù)。如果此 String 對象按字典順序跟隨參數(shù)字符串,則結(jié)果為正整數(shù)。如果字符串相等,則結(jié)果為零;當 equals(java.lang.Object) 方法返回 true 時,compareTo 返回 0。

這是字典順序的定義。如果兩個字符串不同,則它們在某個索引處具有不同的字符,該索引是兩個字符串的有效索引,或者它們的長度不同,或兩者兼而有之。如果它們在一個或多個索引位置具有不同的字符,則設(shè) k 為此類索引中的最?。蝗缓?,在位置 k 處的字符具有較小值的字符串(通過使用 < 運算符確定)按字典順序位于另一個字符串之前。在這種情況下,compareTo 返回兩個字符串中位置 k 處的兩個字符值的差值——即值:

 this.charAt(k)-anotherString.charAt(k) 

如果它們沒有不同的索引位置,則較短的字符串按字典順序位于較長的字符串之前。 在這種情況下, compareTo 返回字符串長度的差值——即值:

 this.length()-anotherString.length() 

指定者:

接口 ComparableString 中的 compareTo

參數(shù):

參數(shù)名稱 參數(shù)描述
anotherString 要比較的字符串。

返回:

如果參數(shù)字符串等于該字符串,則值為 0; 如果此字符串按字典順序小于字符串參數(shù),則值小于 0; 如果此字符串按字典順序大于字符串參數(shù),則值大于 0。

compareToIgnoreCase

public int compareToIgnoreCase(String str)

按字典順序比較兩個字符串,忽略大小寫差異。 此方法返回一個整數(shù),其符號是使用字符串的規(guī)范化版本調(diào)用 compareTo 的符號,其中通過對每個字符調(diào)用 Character.toLowerCase(Character.toUpperCase(character)) 消除了大小寫差異。

請注意,此方法不考慮語言環(huán)境,并且會導(dǎo)致某些語言環(huán)境的排序不令人滿意。 java.text 包提供整理器以允許對區(qū)域設(shè)置敏感的排序。

參數(shù):

參數(shù)名稱 參數(shù)描述
str 要比較的字符串。

返回:

負整數(shù)、零或正整數(shù),因為指定的字符串大于、等于或小于此字符串,忽略大小寫考慮。

regionMatches

public boolean regionMatches(int toffset, String other, int ooffset, int len)

測試兩個字符串區(qū)域是否相等。

此 String 對象的子字符串與參數(shù) other 的子字符串進行比較。 如果這些子字符串表示相同的字符序列,則結(jié)果為真。 要比較的此 String 對象的子字符串從索引 tooffset 開始,長度為 len。 要比較的 other 的子字符串從索引 ooffset 開始,長度為 len。 當且僅當以下至少一項為真時,結(jié)果為假:

  • toffset 為負數(shù)。
  • ooffset為負。
  • toffset+len 大于此 String 對象的長度。
  • ooffset+len 大于另一個參數(shù)的長度。
  • 有一些非負整數(shù) k 小于 len 使得:this.charAt(toffset + k) != other.charAt(ooffset + k)

參數(shù):

參數(shù)名稱 參數(shù)描述
toffset 此字符串中子區(qū)域的起始偏移量。
other 字符串參數(shù)。
ooffset 字符串參數(shù)中子區(qū)域的起始偏移量。
len 要比較的字符數(shù)。

返回:

如果此字符串的指定子區(qū)域與字符串參數(shù)的指定子區(qū)域完全匹配,則為 true; 否則為false。

regionMatches

public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)

測試兩個字符串區(qū)域是否相等。

此 String 對象的子字符串與參數(shù) other 的子字符串進行比較。 如果這些子字符串表示相同的字符序列,則結(jié)果為真,當且僅當 ignoreCase 為真時才忽略大小寫。 要比較的此 String 對象的子字符串從索引 tooffset 開始,長度為 len。 要比較的 other 的子字符串從索引 ooffset 開始,長度為 len。 當且僅當以下至少一項為真時,結(jié)果為假:

  • toffset 為負。

  • ooffset為負。

  • toffset+len 大于此 String 對象的長度。

  • ooffset+len 大于另一個參數(shù)的長度。

  • ignoreCase 是假的,并且有一些非負整數(shù) k 小于 len 使得:

 this.charAt(toffset+k) != other.charAt(ooffset+k) 

  • ignoreCase 為真,并且有一些非負整數(shù) k 小于 len 使得:

 Character.toLowerCase(this.charAt(toffset+k)) !=
   Character.toLowerCase(other.charAt(ooffset+k))

和:

   Character.toUpperCase(this.charAt(toffset+k)) !=
           Character.toUpperCase(other.charAt(ooffset+k))

參數(shù):

參數(shù)名稱 參數(shù)描述
ignoreCase 如果為true,則在比較字符時忽略大小寫。
toffset 此字符串中子區(qū)域的起始偏移量。
other 字符串參數(shù)。
ooffset 字符串參數(shù)中子區(qū)域的起始偏移量。
len 要比較的字符數(shù)。

返回:

如果此字符串的指定子區(qū)域與字符串參數(shù)的指定子區(qū)域匹配,則為 true; 否則為假。 匹配是精確還是不區(qū)分大小寫取決于 ignoreCase 參數(shù)。

startsWith

public boolean startsWith(String prefix, int toffset)

測試從指定索引開始的此字符串的子字符串是否以指定前綴開頭。

參數(shù):

參數(shù)名稱 參數(shù)描述
prefix 前綴。
toffset 從哪里開始查找此字符串。

返回:

如果參數(shù)表示的字符序列是從索引 tooffset 開始的此對象的子字符串的前綴,則為 true; 否則為假。 如果 tooffset 為負數(shù)或大于此 String 對象的長度,則結(jié)果為 false; 否則結(jié)果與表達式的結(jié)果相同

          this.substring(toffset).startsWith(prefix)          

startsWith

public boolean startsWith(String prefix)

測試此字符串是否以指定的前綴開頭。

參數(shù):

參數(shù)名稱 參數(shù)描述
prefix 前綴

返回:

如果參數(shù)表示的字符序列是此字符串表示的字符序列的前綴,則為 true; 否則為假。 另請注意,如果參數(shù)是空字符串或等于由 equals(java.lang.Object) 方法確定的此 String 對象,則將返回 true。

endsWith

public boolean endsWith(String suffix)

測試此字符串是否以指定的后綴結(jié)尾。

參數(shù):

參數(shù)名稱 參數(shù)描述
suffix 后綴

返回:

如果參數(shù)表示的字符序列是此對象表示的字符序列的后綴,則為 true; 否則為假。 請注意,如果參數(shù)是空字符串或等于由 equals(java.lang.Object) 方法確定的此 String 對象,則結(jié)果將為真。

hashCode

public int hashCode()

返回此字符串的哈希碼。 String 對象的哈希碼計算為

 s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] 

使用 int 算術(shù),其中 s[i] 是字符串的第 i 個字符,n 是字符串的長度,^ 表示求冪。 (空字符串的哈希值為零。)

覆蓋:

類 Object 中的 hashCode

返回:

此對象的哈希碼值。

indexOf

public int indexOf(int ch)

返回此字符串中第一次出現(xiàn)指定字符的索引。 如果值 ch 的字符出現(xiàn)在此 String 對象表示的字符序列中,則返回第一次出現(xiàn)的索引(以 Unicode 代碼單位表示)。 對于 0 到 0xFFFF(含)范圍內(nèi)的 ch 值,這是 k 的最小值,使得:

 this.charAt(k) == ch 

是true。 對于 ch 的其他值,它是滿足以下條件的最小值 k:

 this.codePointAt(k) == ch 

是true。 在任何一種情況下,如果該字符串中沒有出現(xiàn)這樣的字符,則返回 -1。

參數(shù):

參數(shù)名稱 參數(shù)描述
ch 一個字符(Unicode 代碼點)。

返回:

此對象表示的字符序列中字符第一次出現(xiàn)的索引,如果字符不出現(xiàn),則為 -1。

indexOf

public int indexOf(int ch, int fromIndex)

返回此字符串中第一次出現(xiàn)指定字符的索引,從指定索引開始搜索。

如果值為 ch 的字符出現(xiàn)在此 String 對象所表示的字符序列中的索引不小于 fromIndex 處,則返回第一個此類出現(xiàn)的索引。 對于 0 到 0xFFFF(含)范圍內(nèi)的 ch 值,這是 k 的最小值,使得:

 (this.charAt(k) == ch) && (k >= fromIndex) 

是true。 對于 ch 的其他值,它是滿足以下條件的最小值 k:

 (this.codePointAt(k) == ch) && (k >= fromIndex) 

是true。 在任何一種情況下,如果該字符串中的 fromIndex 位置或之后沒有出現(xiàn)此類字符,則返回 -1。

fromIndex 的值沒有限制。 如果它是負數(shù),它的效果與它為零一樣:可以搜索整個字符串。 如果它大于此字符串的長度,則其效果與等于此字符串的長度相同:返回 -1。

所有索引都以 char 值(Unicode 代碼單元)指定。

參數(shù):

參數(shù)名稱 參數(shù)描述
ch 一個字符(Unicode 代碼點)。
fromIndex 開始搜索的索引。

返回:

此對象表示的字符序列中大于或等于 fromIndex 的字符第一次出現(xiàn)的索引,如果該字符不出現(xiàn),則為 -1。

lastIndexOf

public int lastIndexOf(int ch)

返回此字符串中最后一次出現(xiàn)指定字符的索引。 對于 0 到 0xFFFF(含)范圍內(nèi)的 ch 值,返回的索引(以 Unicode 代碼單位表示)是最大值 k,使得:

 this.charAt(k) == ch 

是true。 對于 ch 的其他值,它是最大值 k,使得:

 this.codePointAt(k) == ch 

是true。 在任何一種情況下,如果該字符串中沒有出現(xiàn)這樣的字符,則返回 -1。 從最后一個字符開始向后搜索字符串。

參數(shù):

參數(shù)名稱 參數(shù)描述
ch 一個字符(Unicode 代碼點)。

返回:

此對象表示的字符序列中最后一次出現(xiàn)的字符的索引,如果字符不出現(xiàn),則為 -1。

lastIndexOf

public int lastIndexOf(int ch, int fromIndex)

返回此字符串中指定字符最后一次出現(xiàn)的索引,從指定索引開始向后搜索。 對于 0 到 0xFFFF(含)范圍內(nèi)的 ch 值,返回的索引是最大值 k,使得:

 (this.charAt(k) == ch) && (k <= fromIndex) 

是true。 對于 ch 的其他值,它是最大值 k,使得:

 (this.codePointAt(k) == ch) && (k <= fromIndex) 

是true。 在任何一種情況下,如果在此字符串中的位置 fromIndex 處或之前沒有出現(xiàn)此類字符,則返回 -1。

所有索引都以 char 值(Unicode 代碼單元)指定。

參數(shù):

參數(shù)名稱 參數(shù)描述
ch 一個字符(Unicode 代碼點)。
fromIndex 開始搜索的索引。 fromIndex 的值沒有限制。 如果它大于或等于該字符串的長度,則其效果與等于小于該字符串長度的 1 相同:可以搜索整個字符串。 如果為負,則與 -1 具有相同的效果:返回 -1。

返回:

此對象表示的字符序列中字符的最后一次出現(xiàn)的索引,該索引小于或等于 fromIndex,如果該字符未出現(xiàn)在該點之前,則為 -1。

indexOf

public int indexOf(String str)

返回此字符串中第一次出現(xiàn)指定子字符串的索引。

返回的索引是最小值 k,其中:

 this.startsWith(str, k) 

如果不存在這樣的 k 值,則返回 -1。

參數(shù):

參數(shù)名稱 參數(shù)描述
str 要搜索的子字符串。

返回:

指定子字符串第一次出現(xiàn)的索引,如果沒有出現(xiàn),則為 -1。

indexOf

public int indexOf(String str, int fromIndex)

返回此字符串中第一次出現(xiàn)指定子字符串的索引,從指定索引開始。

返回的索引是最小值 k,其中:

 k >= fromIndex && this.startsWith(str, k) 

如果不存在這樣的 k 值,則返回 -1。

參數(shù):

參數(shù)名稱 參數(shù)描述
str 要搜索的子字符串。
fromIndex 開始搜索的索引。

返回:

指定子字符串第一次出現(xiàn)的索引,從指定的索引開始,如果沒有出現(xiàn),則為 -1。

lastIndexOf

public int lastIndexOf(String str)

返回此字符串中最后一次出現(xiàn)指定子字符串的索引。 空字符串“”的最后一次出現(xiàn)被認為出現(xiàn)在索引值 this.length() 處。

返回的索引是最大值 k,其中:

 this.startsWith(str, k) 

如果不存在這樣的 k 值,則返回 -1。

參數(shù):

參數(shù)名稱 參數(shù)描述
str 要搜索的子字符串。

返回:

指定子字符串最后一次出現(xiàn)的索引,如果沒有出現(xiàn),則返回 -1。

lastIndexOf

public int lastIndexOf(String str, int fromIndex)

返回此字符串中指定子字符串最后一次出現(xiàn)的索引,從指定索引開始向后搜索。

返回的索引是最大值 k,其中:

 k <= fromIndex && this.startsWith(str, k) 

如果不存在這樣的 k 值,則返回 -1。

參數(shù):

參數(shù)名稱 參數(shù)描述
str 要搜索的子字符串。
fromIndex 開始搜索的索引。

返回:

指定子字符串最后一次出現(xiàn)的索引,從指定的索引向后搜索,如果沒有出現(xiàn),則返回 -1。

substring

public String substring(int beginIndex)

返回作為此字符串的子字符串的字符串。 子字符串以指定索引處的字符開始并延伸到該字符串的末尾。

例子:

 "unhappy".substring(2) returns "happy"
 "Harbison".substring(3) returns "bison"
 "emptiness".substring(9) returns "" (an empty string)

參數(shù):

參數(shù)名稱 參數(shù)描述
beginIndex 起始索引,包括在內(nèi)。

返回:

指定的子字符串。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 beginIndex 為負數(shù)或大于此 String 對象的長度。

substring

public String substring(int beginIndex, int endIndex)

返回作為此字符串的子字符串的字符串。 子字符串從指定的 beginIndex 開始并延伸到索引 endIndex - 1 處的字符。因此子字符串的長度是 endIndex-beginIndex。

例子:

 "hamburger".substring(4, 8) returns "urge"
 "smiles".substring(1, 5) returns "mile"

參數(shù):

參數(shù)名稱 參數(shù)描述
beginIndex 起始索引,包括在內(nèi)。
endIndex 結(jié)束索引,獨占。

返回:

指定的子字符串。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 beginIndex 為負數(shù),或者 endIndex 大于此 String 對象的長度,或者 beginIndex 大于 endIndex。

subSequence

public CharSequence subSequence(int beginIndex, int endIndex)

返回作為此序列子序列的字符序列。

調(diào)用表單的這個方法

 str.subSequence(begin, end)

行為方式與調(diào)用完全相同

 str.substring(begin, end)

指定者:

接口 CharSequence 中的子序列

參數(shù):

參數(shù)名稱 參數(shù)描述
beginIndex 開始索引,包括在內(nèi)。
endIndex 結(jié)束索引,獨占。

返回:

指定的子序列。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 beginIndex 或 endIndex 為負數(shù),如果 endIndex 大于 length(),或者如果 beginIndex 大于 endIndex

concat

public String concat(String str)

將指定的字符串連接到此字符串的末尾。

如果參數(shù)字符串的長度為 0,則返回此 String 對象。 否則,返回一個 String 對象,該對象表示一個字符序列,該字符序列是由該 String 對象表示的字符序列和由參數(shù)字符串表示的字符序列的串聯(lián)。

例子:

 "cares".concat("s") returns "caress"
 "to".concat("get").concat("her") returns "together"

參數(shù):

參數(shù)名稱 參數(shù)描述
str 連接到此字符串末尾的字符串。

返回:

一個字符串,表示此對象的字符后跟字符串參數(shù)的字符的串聯(lián)。

replace

public String replace(char oldChar, char newChar)

返回一個字符串,該字符串是用 newChar 替換此字符串中所有出現(xiàn)的 oldChar 所產(chǎn)生的。

如果此 String 對象表示的字符序列中沒有出現(xiàn) oldChar 字符,則返回對該 String 對象的引用。 否則,返回一個 String 對象,該對象表示與此 String 對象所表示的字符序列相同的字符序列,但每次出現(xiàn)的 oldChar 都被一個出現(xiàn)的 newChar 替換。

例子:

 "mesquite in your cellar".replace('e', 'o')
         returns "mosquito in your collar"
 "the war of baronets".replace('r', 'y')
         returns "the way of bayonets"
 "sparring with a purple porpoise".replace('p', 't')
         returns "starring with a turtle tortoise"
 "JonL".replace('q', 'x') returns "JonL" (no change)

參數(shù):

參數(shù)名稱 參數(shù)描述
oldChar 舊角色。
newChar 新角色。

返回:

通過用 newChar 替換每次出現(xiàn)的 oldChar 從該字符串派生的字符串。

matches

public boolean matches(String regex)

判斷此字符串是否與給定的正則表達式匹配。

調(diào)用這種形式為 str.matches(regex) 的方法會產(chǎn)生與表達式完全相同的結(jié)果

Pattern.matches(regex, str)

參數(shù):

參數(shù)名稱 參數(shù)描述
regex 此字符串要匹配的正則表達式

返回:

當且僅當此字符串與給定的正則表達式匹配時才為真

Throws:

Throw名稱 Throw描述
PatternSyntaxException 如果正則表達式的語法無效

contains

public boolean contains(CharSequence s)

當且僅當此字符串包含指定的 char 值序列時才返回 true。

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要搜索的序列

返回:

如果此字符串包含 s,則為 true,否則為 false

replaceFirst

public String replaceFirst(String regex, String replacement)

用給定的替換替換此字符串中與給定正則表達式匹配的第一個子字符串。

調(diào)用 str.replaceFirst(regex, repl) 形式的此方法會產(chǎn)生與表達式完全相同的結(jié)果

Pattern.compile(regex).matcher(str).replaceFirst(repl)

請注意,替換字符串中的反斜杠 () 和美元符號 ($) 可能會導(dǎo)致結(jié)果與將其視為文字替換字符串時的結(jié)果不同; 參見 Matcher.replaceFirst(java.lang.String)。 如果需要,使用 Matcher.quoteReplacement(java.lang.String) 來抑制這些字符的特殊含義。

參數(shù):

參數(shù)名稱 參數(shù)描述
regex 此字符串要匹配的正則表達式
replacement 要替換第一個匹配項的字符串

返回:

結(jié)果字符串

Throws:

Throw名稱 Throw描述
PatternSyntaxException 如果正則表達式的語法無效

replaceAll

public String replaceAll(String regex, String replacement)

用給定的替換替換此字符串中與給定正則表達式匹配的每個子字符串。

調(diào)用 str.replaceAll(regex, repl) 形式的此方法會產(chǎn)生與表達式完全相同的結(jié)果

Pattern.compile(regex).matcher(str).replaceAll(repl)

請注意,替換字符串中的反斜杠 () 和美元符號 ($) 可能會導(dǎo)致結(jié)果與將其視為文字替換字符串時的結(jié)果不同; 請參閱 Matcher.replaceAll。 如果需要,使用 Matcher.quoteReplacement(java.lang.String) 來抑制這些字符的特殊含義。

參數(shù):

參數(shù)名稱 參數(shù)描述
regex 此字符串要匹配的正則表達式
replacement 每個匹配項要替換的字符串

返回:

結(jié)果字符串

Throws:

Throw名稱 Throw描述
PatternSyntaxException 如果正則表達式的語法無效

replace

public String replace(CharSequence target, CharSequence replacement)

用指定的文字替換序列替換此字符串中與文字目標序列匹配的每個子字符串。 替換從字符串的開頭到結(jié)尾進行,例如,將字符串“aaa”中的“aa”替換為“b”將導(dǎo)致“ba”而不是“ab”。

參數(shù):

參數(shù)名稱 參數(shù)描述
target 要替換的 char 值的序列
replacement char值的替換順序

返回:

結(jié)果字符串

split

public String[] split(String regex, int limit)

圍繞給定正則表達式的匹配拆分此字符串。

此方法返回的數(shù)組包含此字符串的每個子字符串,這些子字符串由與給定表達式匹配的另一個子字符串終止或以字符串結(jié)尾終止。數(shù)組中的子字符串按照它們在此字符串中出現(xiàn)的順序排列。如果表達式與輸入的任何部分都不匹配,則結(jié)果數(shù)組只有一個元素,即這個字符串。

當此字符串的開頭存在正寬度匹配時,則在結(jié)果數(shù)組的開頭包含一個空的前導(dǎo)子字符串。但是,開頭的零寬度匹配永遠不會產(chǎn)生這樣的空前導(dǎo)子字符串。

limit 參數(shù)控制應(yīng)用模式的次數(shù),因此會影響結(jié)果數(shù)組的長度。如果限制 n 大于零,則模式將最多應(yīng)用 n - 1 次,數(shù)組的長度將不大于 n,并且數(shù)組的最后一個條目將包含最后一個匹配分隔符之外的所有輸入。如果 n 為非正數(shù),則該模式將盡可能多地應(yīng)用,并且數(shù)組可以具有任意長度。如果 n 為零,則該模式將被應(yīng)用盡可能多的次數(shù),數(shù)組可以有任意長度,并且尾隨的空字符串將被丟棄。

例如,字符串“boo:and:foo”使用這些參數(shù)產(chǎn)生以下結(jié)果:

以 str.split(regex, n) 形式調(diào)用此方法會產(chǎn)生與表達式相同的結(jié)果

Pattern.compile(regex).split(str, n)

參數(shù):

參數(shù)名稱 參數(shù)描述
regex 定界正則表達式
limit 結(jié)果閾值,如上所述

返回:

通過圍繞給定正則表達式的匹配拆分此字符串計算的字符串數(shù)組

Throws:

Throw名稱 Throw描述
PatternSyntaxException 如果正則表達式的語法無效

split

public String[] split(String regex)

圍繞給定正則表達式的匹配拆分此字符串。

此方法的工作方式就像通過使用給定表達式和零限制參數(shù)調(diào)用雙參數(shù)拆分方法一樣。 因此,尾隨的空字符串不包含在結(jié)果數(shù)組中。

例如,字符串“boo:and:foo”通過這些表達式產(chǎn)生以下結(jié)果:

參數(shù):

參數(shù)名稱 參數(shù)描述
regex 定界正則表達式

返回:

通過圍繞給定正則表達式的匹配拆分此字符串計算的字符串數(shù)組

Throws:

Throw名稱 Throw描述
PatternSyntaxException 如果正則表達式的語法無效

join

public static String join(CharSequence delimiter, CharSequence... elements)

返回一個由 CharSequence 元素的副本和指定分隔符的副本連接在一起的新字符串。

例如,

     String message = String.join("-", "Java", "is", "cool");
     // message returned is: "Java-is-cool"

請注意,如果元素為 null,則添加“null”。

參數(shù):

參數(shù)名稱 參數(shù)描述
delimiter 分隔每個元素的分隔符
elements 要連接在一起的元素。

返回:

由分隔符分隔的元素組成的新字符串

Throws:

Throw名稱 Throw描述
NullPointerException 如果分隔符或元素為空

join

public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)

返回一個由 CharSequence 元素的副本和指定分隔符的副本連接在一起的新字符串。

例如,

     List<String> strings = new LinkedList<>();
     strings.add("Java");strings.add("is");
     strings.add("cool");
     String message = String.join(" ", strings);
     //message returned is: "Java is cool"


     Set<String> strings = new LinkedHashSet<>();
     strings.add("Java"); strings.add("is");
     strings.add("very"); strings.add("cool");
     String message = String.join("-", strings);
     //message returned is: "Java-is-very-cool"

請注意,如果單個元素為空,則添加“null”。

參數(shù):

參數(shù)名稱 參數(shù)描述
delimiter 一個字符序列,用于分隔結(jié)果字符串中的每個元素
elements 將其元素連接在一起的 Iterable。

返回:

由元素參數(shù)組成的新字符串

Throws:

Throw名稱 Throw描述
NullPointerException 如果分隔符或元素為null

toLowerCase

public String toLowerCase(Locale locale)

使用給定語言環(huán)境的規(guī)則將此字符串中的所有字符轉(zhuǎn)換為小寫。 大小寫映射基于 Character 類指定的 Unicode 標準版本。 由于大小寫映射并不總是 1:1 字符映射,因此生成的字符串可能與原始字符串的長度不同。

小寫映射的示例如下表所示:

參數(shù):

參數(shù)名稱 參數(shù)描述
locale 使用此語言環(huán)境的大小寫轉(zhuǎn)換規(guī)則

返回:

字符串,轉(zhuǎn)換為小寫。

toLowerCase

public String toLowerCase()

使用默認語言環(huán)境的規(guī)則將此字符串中的所有字符轉(zhuǎn)換為小寫。 這相當于調(diào)用 toLowerCase(Locale.getDefault())。

注意:此方法對語言環(huán)境敏感,如果用于旨在獨立解釋語言環(huán)境的字符串,可能會產(chǎn)生意外結(jié)果。 示例是編程語言標識符、協(xié)議鍵和 HTML 標記。 例如,土耳其語言環(huán)境中的 "TITLE".toLowerCase() 返回 "t\u0131tle",其中 '\u0131' 是 LATIN SMALL LETTER DOTLESS I 字符。 要獲得不區(qū)分區(qū)域設(shè)置的字符串的正確結(jié)果,請使用 toLowerCase(Locale.ROOT)。

返回:

字符串,轉(zhuǎn)換為小寫。

toUpperCase

public String toUpperCase(Locale locale)

使用給定語言環(huán)境的規(guī)則將此字符串中的所有字符轉(zhuǎn)換為大寫。 大小寫映射基于 Character 類指定的 Unicode 標準版本。 由于大小寫映射并不總是 1:1 字符映射,因此生成的字符串可能與原始字符串的長度不同。

下表列出了區(qū)域敏感和 1:M 大小寫映射的示例。

參數(shù):

參數(shù)名稱 參數(shù)描述
locale 使用此語言環(huán)境的大小寫轉(zhuǎn)換規(guī)則

返回:

字符串,轉(zhuǎn)換為大寫。

toUpperCase

public String toUpperCase()

使用默認語言環(huán)境的規(guī)則將此字符串中的所有字符轉(zhuǎn)換為大寫。 此方法等效于 toUpperCase(Locale.getDefault())。

注意:此方法對語言環(huán)境敏感,如果用于旨在獨立解釋語言環(huán)境的字符串,可能會產(chǎn)生意外結(jié)果。 示例是編程語言標識符、協(xié)議鍵和 HTML 標記。 例如,土耳其語言環(huán)境中的 "title".toUpperCase() 返回 "T\u0130TLE",其中 '\u0130' 是 LATIN CAPITAL LETTER I WITH DOT ABOVE 字符。 要獲得不區(qū)分區(qū)域設(shè)置的字符串的正確結(jié)果,請使用 toUpperCase(Locale.ROOT)。

返回:

字符串,轉(zhuǎn)換為大寫。

trim

public String trim()

返回一個字符串,其值為該字符串,刪除了任何前導(dǎo)和尾隨空格。

如果此 String 對象表示一個空字符序列,或者此 String 對象表示的字符序列的第一個和最后一個字符的代碼都大于 '\u0020'(空格字符),則返回對該 String 對象的引用。

否則,如果字符串中沒有代碼大于 '\u0020' 的字符,則返回表示空字符串的 String 對象。

否則,設(shè) k 為字符串中編碼大于 '\u0020' 的第一個字符的索引,設(shè) m 為字符串中編碼大于 '\u0020' 的最后一個字符的索引。返回一個 String 對象,表示這個字符串的子字符串,它以索引 k 處的字符開始,以索引 m 處的字符結(jié)束——即 this.substring(k, m + 1) 的結(jié)果。

此方法可用于從字符串的開頭和結(jié)尾修剪空白(如上定義)。

返回:

一個字符串,其值為該字符串,刪除了任何前導(dǎo)和尾隨空格,或者如果它沒有前導(dǎo)或尾隨空格,則為該字符串。

toString

public String toString()

這個對象(它已經(jīng)是一個字符串!)本身被返回。

指定者:

接口 CharSequence 中的 toString

覆蓋:

類 Object 中的 toString

返回:

字符串本身。

toCharArray

public char[] toCharArray()

將此字符串轉(zhuǎn)換為新的字符數(shù)組。

返回:

一個新分配的字符數(shù)組,它的長度就是這個字符串的長度,它的內(nèi)容被初始化為包含這個字符串表示的字符序列。

format

public static String format(String format, Object... args)

返回使用指定格式字符串和參數(shù)的格式化字符串。

始終使用的語言環(huán)境是由 Locale.getDefault() 返回的語言環(huán)境。

參數(shù):

參數(shù)名稱 參數(shù)描述
format 格式字符串
args 格式字符串中的格式說明符引用的參數(shù)。 如果參數(shù)多于格式說明符,則忽略多余的參數(shù)。 參數(shù)的數(shù)量是可變的,可能為零。 參數(shù)的最大數(shù)量受《Java? 虛擬機規(guī)范》中定義的 Java 數(shù)組的最大維度限制。 空參數(shù)的行為取決于轉(zhuǎn)換。

返回:

格式化的字符串

Throws:

Throw名稱 Throw描述
IllegalFormatException 如果格式字符串包含非法語法、與給定參數(shù)不兼容的格式說明符、給定格式字符串的參數(shù)不足或其他非法條件。 有關(guān)所有可能的格式錯誤的規(guī)范,請參閱格式化程序類規(guī)范的詳細信息部分。

format

public static String format(Locale l, String format, Object... args)

返回使用指定語言環(huán)境、格式字符串和參數(shù)的格式化字符串。

參數(shù):

參數(shù)名稱 參數(shù)描述
l 在格式化期間應(yīng)用的語言環(huán)境。 如果 l 為空,則不應(yīng)用本地化。
format 格式字符串
args 格式字符串中的格式說明符引用的參數(shù)。 如果參數(shù)多于格式說明符,則忽略多余的參數(shù)。 參數(shù)的數(shù)量是可變的,可能為零。 參數(shù)的最大數(shù)量受《Java? 虛擬機規(guī)范》中定義的 Java 數(shù)組的最大維度限制。 空參數(shù)的行為取決于轉(zhuǎn)換。

返回:

格式化的字符串

Throws:

Throw名稱 Throw描述
IllegalFormatException 如果格式字符串包含非法語法、與給定參數(shù)不兼容的格式說明符、給定格式字符串的參數(shù)不足或其他非法條件。 有關(guān)所有可能的格式錯誤的規(guī)范,請參閱格式化程序類規(guī)范的詳細信息部分

valueOf

public static String valueOf(Object obj)

返回 Object 參數(shù)的字符串表示形式。

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 一個object

返回:

如果參數(shù)為空,則字符串等于“null”; 否則,返回 obj.toString() 的值。

valueOf

public static String valueOf(char[] data)

返回 char 數(shù)組參數(shù)的字符串表示形式。 字符數(shù)組的內(nèi)容被復(fù)制; 字符數(shù)組的后續(xù)修改不會影響返回的字符串。

參數(shù):

參數(shù)名稱 參數(shù)描述
data 字符數(shù)組。

返回:

一個包含字符數(shù)組字符的字符串。

valueOf

public static String valueOf(char[] data, int offset, int count)

返回 char 數(shù)組參數(shù)的特定子數(shù)組的字符串表示形式。

offset 參數(shù)是子數(shù)組第一個字符的索引。 count 參數(shù)指定子數(shù)組的長度。 子數(shù)組的內(nèi)容被復(fù)制; 字符數(shù)組的后續(xù)修改不會影響返回的字符串。

參數(shù):

參數(shù)名稱 參數(shù)描述
data 字符數(shù)組。
offset 子數(shù)組的初始偏移量。
count 子數(shù)組的長度。

返回:

一個字符串,包含字符數(shù)組的指定子數(shù)組的字符。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 offset 為負數(shù),或者 count 為負數(shù),或者 offset+count 大于 data.length。

copyValueOf

public static String copyValueOf(char[] data, int offset, int count)

等效于 [valueOf(char],int,int)。

參數(shù):

參數(shù)名稱 參數(shù)描述
data 字符數(shù)組。
offset 子數(shù)組的初始偏移量。
count 子數(shù)組的長度。

返回:

一個字符串,包含字符數(shù)組的指定子數(shù)組的字符。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 offset 為負數(shù),或者 count 為負數(shù),或者 offset+count 大于 data.length。

copyValueOf

public static String copyValueOf(char[] data)

等效于 [valueOf(char])。

參數(shù):

參數(shù)名稱 參數(shù)描述
data 字符數(shù)組。

返回:

一個包含字符數(shù)組字符的字符串。

valueOf

public static String valueOf(boolean b)

返回布爾參數(shù)的字符串表示形式。

參數(shù):

參數(shù)名稱 參數(shù)描述
b 一個boolean

返回:

如果參數(shù)為真,則返回一個等于“true”的字符串; 否則,返回等于“false”的字符串。

valueOf

public static String valueOf(char c)

返回 char 參數(shù)的字符串表示形式。

參數(shù):

參數(shù)名稱 參數(shù)描述
c 一個char

返回:

長度為 1 的字符串,包含參數(shù) c 作為其單個字符。

valueOf

public static String valueOf(int i)

返回 int 參數(shù)的字符串表示形式。

該表示正是一個參數(shù)的 Integer.toString 方法返回的表示。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 一個int

返回:

int 參數(shù)的字符串表示形式。

valueOf

public static String valueOf(long l)

返回 long 參數(shù)的字符串表示。

該表示正是 Long.toString 方法返回的一個參數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
l 一個long

返回:

long 參數(shù)的字符串表示形式。

valueOf

public static String valueOf(float f)

返回 float 參數(shù)的字符串表示形式。

該表示正是一個參數(shù)的 Float.toString 方法返回的表示。

參數(shù):

參數(shù)名稱 參數(shù)描述
f 一個float

返回:

float 參數(shù)的字符串表示形式。

valueOf

public static String valueOf(double d)

返回 double 參數(shù)的字符串表示形式。

該表示正是一個參數(shù)的 Double.toString 方法返回的表示。

參數(shù):

參數(shù)名稱 參數(shù)描述
d 一個double

返回:

double 參數(shù)的字符串表示形式。

intern

public String intern()

返回字符串對象的規(guī)范表示。

一個字符串池,最初是空的,由 String 類私下維護。

當調(diào)用 intern 方法時,如果池中已經(jīng)包含一個等于該 String 對象的字符串,由 equals(java.lang.Object) 方法確定,則返回池中的字符串。 否則,將此 String 對象添加到池中并返回對該 String 對象的引用。

由此可見,對于任何兩個字符串 s 和 t,當且僅當 s.equals(t) 為真時,s.intern() == t.intern() 才為真。

所有文字字符串和字符串值的常量表達式都是實習(xí)的。 字符串字面量在《The Java? Language Specification》的第 3.10.5 節(jié)中定義。

返回:

與此字符串具有相同內(nèi)容的字符串,但保證來自唯一字符串池。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號