鴻蒙OS String

2022-05-23 16:47 更新

String

java.lang.Object

|---java.lang.String

  1. public final class String
  2. extends Object
  3. implements Serializable, Comparable<String>, CharSequence

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

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

  1. String str = "abc";

相當(dāng)于:

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

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

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

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

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

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

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

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

字段摘要

修飾符和類(lèi)型 字段 描述
static ComparatorString CASE_INSENSITIVE_ORDER 一個(gè)比較器,它按照 compareToIgnoreCase 對(duì) String 對(duì)象進(jìn)行排序。

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

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

方法總結(jié)

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

字段詳細(xì)信息

CASE_INSENSITIVE_ORDER

public static final ComparatorString CASE_INSENSITIVE_ORDER

一個(gè)比較器,它按照 compareToIgnoreCase 對(duì) String 對(duì)象進(jìn)行排序。 這個(gè)比較器是可序列化的。

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

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

String

public String()

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

String

public String(String original)

初始化一個(gè)新創(chuàng)建的 String 對(duì)象,使其表示與參數(shù)相同的字符序列; 換句話(huà)說(shuō),新創(chuàng)建的字符串是參數(shù)字符串的副本。 除非需要原始的顯式副本,否則不需要使用此構(gòu)造函數(shù),因?yàn)樽址遣豢勺兊摹?/p>

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
original 一個(gè)string

String

public String(char[] value)

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

參數(shù):

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

String

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

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

參數(shù):

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

Throws:

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

String

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

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

參數(shù):

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

Throws:

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

String

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

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

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

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

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

參數(shù):

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

Throws:

Throw名稱(chēng) Throw描述
IndexOutOfBoundsException 如果 offset 或 count 參數(shù)無(wú)效

String

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

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

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

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

參數(shù):

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

String

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

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

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

參數(shù):

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

Throws:

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

String

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

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

此方法始終使用此字符集的默認(rèn)替換字符串替換格式錯(cuò)誤的輸入和不可映射的字符序列。 當(dāng)需要對(duì)解碼過(guò)程進(jìn)行更多控制時(shí),應(yīng)使用 CharsetDecoder 類(lèi)。

參數(shù):

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

Throws:

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

String

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

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

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

參數(shù):

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

Throws:

Throw名稱(chēng) Throw描述
UnsupportedEncodingException 如果不支持命名字符集

String

public String(byte[] bytes, Charset charset)

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

此方法始終使用此字符集的默認(rèn)替換字符串替換格式錯(cuò)誤的輸入和不可映射的字符序列。 當(dāng)需要對(duì)解碼過(guò)程進(jìn)行更多控制時(shí),應(yīng)使用 CharsetDecoder 類(lèi)。

參數(shù):

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

String

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

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

當(dāng)給定字節(jié)在默認(rèn)字符集中無(wú)效時(shí),此構(gòu)造函數(shù)的行為未指定。 當(dāng)需要對(duì)解碼過(guò)程進(jìn)行更多控制時(shí),應(yīng)使用 CharsetDecoder 類(lèi)。

參數(shù):

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

Throws:

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

String

public String(byte[] bytes)

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

當(dāng)給定字節(jié)在默認(rèn)字符集中無(wú)效時(shí),此構(gòu)造函數(shù)的行為未指定。 當(dāng)需要對(duì)解碼過(guò)程進(jìn)行更多控制時(shí),應(yīng)使用 CharsetDecoder 類(lèi)。

參數(shù):

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

String

public String(StringBuffer buffer)

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

參數(shù):

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

String

public String(StringBuilder builder)

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
builder 一個(gè)字符串生成器

方法詳情

length

public int length()

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

指定者:

接口 CharSequence 中的長(zhǎng)度

返回:

此對(duì)象表示的字符序列的長(zhǎng)度。

isEmpty

public boolean isEmpty()

當(dāng)且僅當(dāng) length() 為 0 時(shí)返回 true。

返回:

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

charAt

public char charAt(int index)

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

如果索引指定的 char 值是代理項(xiàng),則返回代理項(xiàng)值。

指定者:

接口 CharSequence 中的 charAt

參數(shù):

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

返回:

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

Throws:

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

codePointAt

public int codePointAt(int index)

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

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

參數(shù):

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

返回:

索引處字符的代碼點(diǎn)值

Throws:

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

codePointBefore

public int codePointBefore(int index)

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

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

參數(shù):

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

返回:

給定索引之前的 Unicode 代碼點(diǎn)值。

Throws:

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

codePointCount

public int codePointCount(int beginIndex, int endIndex)

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

參數(shù):

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

返回:

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

Throws:

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

offsetByCodePoints

public int offsetByCodePoints(int index, int codePointOffset)

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
index 要偏移的索引
codePointOffset 代碼點(diǎn)的偏移量

返回:

此字符串中的索引

Throws:

Throw名稱(chēng) Throw描述
IndexOutOfBoundsException 如果 index 為負(fù)或大于此字符串的長(zhǎng)度,或者如果 codePointOffset 為正且以 index 開(kāi)頭的子字符串少于 codePointOffset 代碼點(diǎn),或者如果 codePointOffset 為負(fù)且 index 之前的子字符串少于 codePointOffset 代碼的絕對(duì)值 點(diǎn)。

getChars

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

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

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

  1. dstBegin + (srcEnd-srcBegin) - 1

參數(shù):

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

Throws:

Throw名稱(chēng) Throw描述
IndexOutOfBoundsException 如果以下任何一項(xiàng)為真:srcBegin 為負(fù)數(shù)。srcBegin 大于 srcEndsrcEnd 大于此字符串的長(zhǎng)度 dstBegin 為負(fù)數(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 開(kāi)始,執(zhí)行此操作的首選方法是通過(guò) getBytes() 方法,該方法使用平臺(tái)的默認(rèn)字符集。

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

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

  1. dstBegin + (srcEnd-srcBegin) - 1

參數(shù):

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

Throws:

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

getBytes

public byte[] getBytes(String charsetName) throws UnsupportedEncodingException

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

未指定此字符串無(wú)法在給定字符集中編碼時(shí)此方法的行為。 當(dāng)需要對(duì)編碼過(guò)程進(jìn)行更多控制時(shí),應(yīng)使用 CharsetEncoder 類(lèi)。

參數(shù):

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

返回:

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

Throws:

Throw名稱(chēng) Throw描述
UnsupportedEncodingException 如果不支持命名字符集

getBytes

public byte[] getBytes(Charset charset)

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
charset 用于對(duì)字符串進(jìn)行編碼的字符集

返回:

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

getBytes

public byte[] getBytes()

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

當(dāng)此字符串無(wú)法以默認(rèn)字符集編碼時(shí),此方法的行為未指定。 當(dāng)需要對(duì)編碼過(guò)程進(jìn)行更多控制時(shí),應(yīng)使用 CharsetEncoder 類(lèi)。

返回:

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

equals

public boolean equals(Object anObject)

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

覆蓋:

類(lèi) Object 中的等于

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
anObject 與此 String 進(jìn)行比較的對(duì)象

返回:

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

contentEquals

public boolean contentEquals(StringBuffer sb)

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
sb 與此 String 進(jìn)行比較的 StringBuffer

返回:

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

contentEquals

public boolean contentEquals(CharSequence cs)

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
cs 與此字符串進(jìn)行比較的序列

返回:

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

equalsIgnoreCase

public boolean equalsIgnoreCase(String anotherString)

將此字符串與另一個(gè)字符串進(jìn)行比較,忽略大小寫(xiě)注意事項(xiàng)。 如果兩個(gè)字符串的長(zhǎng)度相同,并且兩個(gè)字符串中的對(duì)應(yīng)字符相等,忽略大小寫(xiě),則認(rèn)為兩個(gè)字符串相等。

如果以下至少一項(xiàng)為真,則兩個(gè)字符 c1 和 c2 被認(rèn)為是相同的忽略大小寫(xiě):

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
anotherString 與此字符串進(jìn)行比較的字符串

返回:

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

compareTo

public int compareTo(String anotherString)

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

這是字典順序的定義。如果兩個(gè)字符串不同,則它們?cè)谀硞€(gè)索引處具有不同的字符,該索引是兩個(gè)字符串的有效索引,或者它們的長(zhǎng)度不同,或兩者兼而有之。如果它們?cè)谝粋€(gè)或多個(gè)索引位置具有不同的字符,則設(shè) k 為此類(lèi)索引中的最小;然后,在位置 k 處的字符具有較小值的字符串(通過(guò)使用 < 運(yùn)算符確定)按字典順序位于另一個(gè)字符串之前。在這種情況下,compareTo 返回兩個(gè)字符串中位置 k 處的兩個(gè)字符值的差值——即值:

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

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

  1. this.length()-anotherString.length()

指定者:

接口 ComparableString 中的 compareTo

參數(shù):

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

返回:

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

compareToIgnoreCase

public int compareToIgnoreCase(String str)

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

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

參數(shù):

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

返回:

負(fù)整數(shù)、零或正整數(shù),因?yàn)橹付ǖ淖址笥?、等于或小于此字符串,忽略大小?xiě)考慮。

regionMatches

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

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

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(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)

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

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

  • toffset 為負(fù)。

  • ooffset為負(fù)。

  • toffset+len 大于此 String 對(duì)象的長(zhǎng)度。

  • ooffset+len 大于另一個(gè)參數(shù)的長(zhǎng)度。

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

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

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

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

和:

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

參數(shù):

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

返回:

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

startsWith

public boolean startsWith(String prefix, int toffset)

測(cè)試從指定索引開(kāi)始的此字符串的子字符串是否以指定前綴開(kāi)頭。

參數(shù):

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

返回:

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

  1. this.substring(toffset).startsWith(prefix)

startsWith

public boolean startsWith(String prefix)

測(cè)試此字符串是否以指定的前綴開(kāi)頭。

參數(shù):

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

返回:

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

endsWith

public boolean endsWith(String suffix)

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

參數(shù):

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

返回:

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

hashCode

public int hashCode()

返回此字符串的哈希碼。 String 對(duì)象的哈希碼計(jì)算為

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

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

覆蓋:

類(lèi) Object 中的 hashCode

返回:

此對(duì)象的哈希碼值。

indexOf

public int indexOf(int ch)

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

  1. this.charAt(k) == ch

是true。 對(duì)于 ch 的其他值,它是滿(mǎn)足以下條件的最小值 k:

  1. this.codePointAt(k) == ch

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
ch 一個(gè)字符(Unicode 代碼點(diǎn))。

返回:

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

indexOf

public int indexOf(int ch, int fromIndex)

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

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

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

是true。 對(duì)于 ch 的其他值,它是滿(mǎn)足以下條件的最小值 k:

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

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

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
ch 一個(gè)字符(Unicode 代碼點(diǎn))。
fromIndex 開(kāi)始搜索的索引。

返回:

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

lastIndexOf

public int lastIndexOf(int ch)

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

  1. this.charAt(k) == ch

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

  1. this.codePointAt(k) == ch

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
ch 一個(gè)字符(Unicode 代碼點(diǎn))。

返回:

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

lastIndexOf

public int lastIndexOf(int ch, int fromIndex)

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

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

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

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

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

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

參數(shù):

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

返回:

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

indexOf

public int indexOf(String str)

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

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

  1. this.startsWith(str, k)

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

參數(shù):

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

返回:

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

indexOf

public int indexOf(String str, int fromIndex)

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

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

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

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

參數(shù):

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

返回:

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

lastIndexOf

public int lastIndexOf(String str)

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

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

  1. this.startsWith(str, k)

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

參數(shù):

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

返回:

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

lastIndexOf

public int lastIndexOf(String str, int fromIndex)

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

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

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

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

參數(shù):

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

返回:

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

substring

public String substring(int beginIndex)

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

例子:

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

參數(shù):

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

返回:

指定的子字符串。

Throws:

Throw名稱(chēng) Throw描述
IndexOutOfBoundsException 如果 beginIndex 為負(fù)數(shù)或大于此 String 對(duì)象的長(zhǎng)度。

substring

public String substring(int beginIndex, int endIndex)

返回作為此字符串的子字符串的字符串。 子字符串從指定的 beginIndex 開(kāi)始并延伸到索引 endIndex - 1 處的字符。因此子字符串的長(zhǎng)度是 endIndex-beginIndex。

例子:

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

參數(shù):

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

返回:

指定的子字符串。

Throws:

Throw名稱(chēng) Throw描述
IndexOutOfBoundsException 如果 beginIndex 為負(fù)數(shù),或者 endIndex 大于此 String 對(duì)象的長(zhǎng)度,或者 beginIndex 大于 endIndex。

subSequence

public CharSequence subSequence(int beginIndex, int endIndex)

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

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

  1. str.subSequence(begin, end)

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

  1. str.substring(begin, end)

指定者:

接口 CharSequence 中的子序列

參數(shù):

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

返回:

指定的子序列。

Throws:

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

concat

public String concat(String str)

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

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

例子:

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

參數(shù):

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

返回:

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

replace

public String replace(char oldChar, char newChar)

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

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

例子:

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

參數(shù):

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

返回:

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

matches

public boolean matches(String regex)

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

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

Pattern.matches(regex, str)

參數(shù):

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

返回:

當(dāng)且僅當(dāng)此字符串與給定的正則表達(dá)式匹配時(shí)才為真

Throws:

Throw名稱(chēng) Throw描述
PatternSyntaxException 如果正則表達(dá)式的語(yǔ)法無(wú)效

contains

public boolean contains(CharSequence s)

當(dāng)且僅當(dāng)此字符串包含指定的 char 值序列時(shí)才返回 true。

參數(shù):

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

返回:

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

replaceFirst

public String replaceFirst(String regex, String replacement)

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

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

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
regex 此字符串要匹配的正則表達(dá)式
replacement 要替換第一個(gè)匹配項(xiàng)的字符串

返回:

結(jié)果字符串

Throws:

Throw名稱(chēng) Throw描述
PatternSyntaxException 如果正則表達(dá)式的語(yǔ)法無(wú)效

replaceAll

public String replaceAll(String regex, String replacement)

用給定的替換替換此字符串中與給定正則表達(dá)式匹配的每個(gè)子字符串。

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

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
regex 此字符串要匹配的正則表達(dá)式
replacement 每個(gè)匹配項(xiàng)要替換的字符串

返回:

結(jié)果字符串

Throws:

Throw名稱(chēng) Throw描述
PatternSyntaxException 如果正則表達(dá)式的語(yǔ)法無(wú)效

replace

public String replace(CharSequence target, CharSequence replacement)

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

參數(shù):

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

返回:

結(jié)果字符串

split

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

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

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

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

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

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

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

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

參數(shù):

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

返回:

通過(guò)圍繞給定正則表達(dá)式的匹配拆分此字符串計(jì)算的字符串?dāng)?shù)組

Throws:

Throw名稱(chēng) Throw描述
PatternSyntaxException 如果正則表達(dá)式的語(yǔ)法無(wú)效

split

public String[] split(String regex)

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

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
regex 定界正則表達(dá)式

返回:

通過(guò)圍繞給定正則表達(dá)式的匹配拆分此字符串計(jì)算的字符串?dāng)?shù)組

Throws:

Throw名稱(chēng) Throw描述
PatternSyntaxException 如果正則表達(dá)式的語(yǔ)法無(wú)效

join

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

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

例如,

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

請(qǐng)注意,如果元素為 null,則添加“null”。

參數(shù):

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

返回:

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

Throws:

Throw名稱(chēng) Throw描述
NullPointerException 如果分隔符或元素為空

join

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

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

例如,

  1. List<String> strings = new LinkedList<>();
  2. strings.add("Java");strings.add("is");
  3. strings.add("cool");
  4. String message = String.join(" ", strings);
  5. //message returned is: "Java is cool"
  6. Set<String> strings = new LinkedHashSet<>();
  7. strings.add("Java"); strings.add("is");
  8. strings.add("very"); strings.add("cool");
  9. String message = String.join("-", strings);
  10. //message returned is: "Java-is-very-cool"

請(qǐng)注意,如果單個(gè)元素為空,則添加“null”。

參數(shù):

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

返回:

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

Throws:

Throw名稱(chēng) Throw描述
NullPointerException 如果分隔符或元素為null

toLowerCase

public String toLowerCase(Locale locale)

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

小寫(xiě)映射的示例如下表所示:

參數(shù):

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

返回:

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

toLowerCase

public String toLowerCase()

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

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

返回:

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

toUpperCase

public String toUpperCase(Locale locale)

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

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

參數(shù):

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

返回:

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

toUpperCase

public String toUpperCase()

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

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

返回:

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

trim

public String trim()

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

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

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

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

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

返回:

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

toString

public String toString()

這個(gè)對(duì)象(它已經(jīng)是一個(gè)字符串?。┍旧肀环祷?。

指定者:

接口 CharSequence 中的 toString

覆蓋:

類(lèi) Object 中的 toString

返回:

字符串本身。

toCharArray

public char[] toCharArray()

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

返回:

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

format

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

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

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

參數(shù):

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

返回:

格式化的字符串

Throws:

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

format

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

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

參數(shù):

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

返回:

格式化的字符串

Throws:

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

valueOf

public static String valueOf(Object obj)

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
obj 一個(gè)object

返回:

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

valueOf

public static String valueOf(char[] data)

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

參數(shù):

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

返回:

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

valueOf

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

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

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

參數(shù):

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

返回:

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

Throws:

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

copyValueOf

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

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

參數(shù):

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

返回:

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

Throws:

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

copyValueOf

public static String copyValueOf(char[] data)

等效于 [valueOf(char])。

參數(shù):

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

返回:

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

valueOf

public static String valueOf(boolean b)

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
b 一個(gè)boolean

返回:

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

valueOf

public static String valueOf(char c)

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
c 一個(gè)char

返回:

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

valueOf

public static String valueOf(int i)

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
i 一個(gè)int

返回:

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

valueOf

public static String valueOf(long l)

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
l 一個(gè)long

返回:

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

valueOf

public static String valueOf(float f)

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
f 一個(gè)float

返回:

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

valueOf

public static String valueOf(double d)

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
d 一個(gè)double

返回:

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

intern

public String intern()

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

一個(gè)字符串池,最初是空的,由 String 類(lèi)私下維護(hù)。

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

由此可見(jiàn),對(duì)于任何兩個(gè)字符串 s 和 t,當(dāng)且僅當(dāng) s.equals(t) 為真時(shí),s.intern() == t.intern() 才為真。

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

返回:

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)