String
類表示字符串。 在 Java 程序中所有的字符串常量,如 "abc"
,都被實(shí)現(xiàn)為這個(gè)類的實(shí)例。
字符串是常量;他們的值在生成后不能改變。字符串緩沖區(qū)支持可變的字符串。 因?yàn)樽址畬?duì)象是不可變的,所以它們可以被共享。 例如:
String str = "abc";
等價(jià)于:
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
類包括檢查字符串序列中單個(gè)字符的方法,這些方法用于比較字符串、查找字符串、抽取子字符串、生成一個(gè)字符串拷貝和把所有字符都轉(zhuǎn)換為大寫或小寫。
Java 語言提供對(duì)字符串連接操作符
( + )和其它字符串對(duì)象相互轉(zhuǎn)換的特殊支持。
字符串連結(jié)是通過
StringBuffer
類和它的
append
方法實(shí)現(xiàn)的。
字符串轉(zhuǎn)換是通過
toString
方法實(shí)現(xiàn)的,該方法由 Object
定義并且被 Java 中的所有類繼承。 關(guān)于字符串連結(jié)和轉(zhuǎn)換的其它信息
, 參見 Gosling 、Joy、和 Steele 的書
Java 語言規(guī)范 。
java.lang.Object | +----java.lang.String
String
。
String
。String
,它包含有從一8位整型數(shù)組構(gòu)造得到的字符。
不推薦使用該方法。
String
String
,它包含有從一8位整型數(shù)組的子數(shù)組構(gòu)造得到的字符。
不推薦使用該方法。
String
。
String
。
String
,它包含有字符數(shù)組參數(shù)中的字符序列。
String
,它包含有字符數(shù)組參數(shù)的一個(gè)子數(shù)組中的字符序列。
String
,它和字符串參數(shù)中有相同的字符序列。
String
,它包含有當(dāng)前字符串緩沖區(qū)參數(shù)中的字符序列。
String
轉(zhuǎn)換成字節(jié),并把結(jié)果存到一新的字節(jié)數(shù)組中。
String
轉(zhuǎn)換成字節(jié),并把結(jié)果存到一新的字節(jié)數(shù)組中。
oldChar
替換成 newChar
。
String
轉(zhuǎn)換為小寫。
String
中的所有的字符轉(zhuǎn)換為小寫。
String
轉(zhuǎn)換為大寫。
String
中的所有的字符轉(zhuǎn)換為大寫。
boolean
參數(shù)的字符串表示。
char
* 參數(shù)的字符串表示。
char
數(shù)組參數(shù)的字符串表示。
char
數(shù)組參數(shù)的一個(gè)指定子數(shù)組的字符串表示。
double
參數(shù)的字符串表示。
float
參數(shù)的字符串表示。
int
參數(shù)的字符串表示。
long
參數(shù)的字符串表示。
Object
參數(shù)的字符串表示。
public String()
String
。
public String(String value)
String
,它包含有與字符串參數(shù)相同的字符序列。
String
.
public String(char value[])
String
,它包含有當(dāng)前字符數(shù)組參數(shù)中的字符。
public String(char value[], int offset, int count)
String
,它包含字符數(shù)組參數(shù)的一個(gè)子數(shù)組的字符。 offset
參數(shù)是子數(shù)組中第一個(gè)字符的索引, count
參數(shù)指定了子數(shù)組的長度。
offset
和 count
參數(shù)超出了
value
數(shù)組的邊界。
public String(byte ascii[], int hibyte, int offset, int count)
String
構(gòu)造函數(shù),它攜帶一個(gè)字符-編碼方式名,或平臺(tái)的缺省編碼方式名作參數(shù)。
String
。
offset
參數(shù)是子數(shù)組中第一個(gè)字節(jié)處的索引, count
參數(shù)指定了子數(shù)組的長度。
子數(shù)組中的每個(gè) byte
如上面方法描述的那樣被轉(zhuǎn)換為一個(gè)
char
。
public String(byte ascii[], int hibyte)
String
構(gòu)造函數(shù),它攜帶一個(gè)字符-編碼方式名,或平臺(tái)的缺省編碼名作參數(shù)。
String
。
結(jié)果字符串中的每個(gè)字符 c 是由字節(jié)數(shù)組中的對(duì)應(yīng)部分
b 構(gòu)造的。如:
c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))
public String(byte bytes[], int offset, int length, String enc) throws UnsupportedEncodingException
String
。
新 String
的長度是一個(gè)編碼函數(shù),因此可能不等于子數(shù)組的長度。
public String(byte bytes[], String enc) throws UnsupportedEncodingException
String
。
新 String
的長度是一個(gè)編碼函數(shù),因此可能不等于字節(jié)數(shù)組的長度。
public String(byte bytes[], int offset, int length)
String
。
新 String
的長度是一個(gè)編碼函數(shù),因此可能不等于子數(shù)組的長度。
public String(byte bytes[])
String
。
新 String
的長度是一個(gè)編碼函數(shù),因此可能不等于字節(jié)數(shù)組的長度。
public String(StringBuffer buffer)
String
,它包含有當(dāng)前字符串緩沖區(qū)參數(shù)中的字符序列。
StringBuffer
.
public int length()
public char charAt(int index)
0
到 length() - 1
。
0
處。
public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin)
第一個(gè)要復(fù)制的字符在索引
srcBegin
處; 最后一個(gè)要復(fù)制的字符在索引
srcEnd-1
處(因此要復(fù)制的字符總數(shù)就是
srcEnd-srcBegin
) 。要復(fù)制到
dst
子數(shù)組的字符開始于索引 dstBegin
,結(jié)束于索引:
dstbegin + (srcEnd-srcBegin) - 1
public void getBytes(int srcBegin, int srcEnd, byte dst[], int dstBegin)
getBytes(String enc)
方法, 它使用一個(gè)字符-編碼方式名作參數(shù),或使用 getBytes()
方法,它使用平臺(tái)的缺省編碼方式。
第一個(gè)要復(fù)制的字符在索引
srcBegin
處; 最后一個(gè)要復(fù)制的字符在索引
srcEnd-1
處。要復(fù)制的字符總數(shù)是
srcEnd-srcBegin
。字符被轉(zhuǎn)換成字節(jié)復(fù)制到 dst
子數(shù)組。它開始于索引
dstBegin
,結(jié)束于索引:
dstbegin + (srcEnd-srcBegin) - 1
public byte[] getBytes(String enc) throws UnsupportedEncodingException
String
轉(zhuǎn)換為字節(jié),結(jié)果存到一個(gè)新的字節(jié)數(shù)組中。
public byte[] getBytes()
String
轉(zhuǎn)換成字節(jié),并把結(jié)果存到一新的字節(jié)數(shù)組中。
public boolean equals(Object anObject)
null
,且是一個(gè) String
對(duì)象,它表示的字符序列與此對(duì)象相同時(shí)結(jié)果為 true
。
String
作比較的對(duì)象。
String
相等則為 true
;否則為
false
。
public boolean equalsIgnoreCase(String anotherString)
null
,且是一個(gè)String
對(duì)象,它所表示的字符序列在大小寫被忽略時(shí)與此對(duì)象相同,則結(jié)果為 true
。
如果至少滿足以下條件之一,則兩個(gè)字符在忽略大小寫時(shí)被認(rèn)為是相等的:
==
運(yùn)算符比較)。
Character.toUppercase
,產(chǎn)生的結(jié)果相同。
Character.toLowercase
,產(chǎn)生的結(jié)果相同。
如果兩個(gè)字符序列有相同的長度且對(duì)應(yīng)的字符在忽略大小寫時(shí)相同,,則兩個(gè)字符序列被認(rèn)為是相等的。
String
相比較的
String
。
String
相等,則為
true
;否則為 false
。
public int compareTo(String anotherString)
String
。
0
;若該字符串按詞典順序小于參數(shù)字符串則返回值小于 0
;若該字符串按詞典順序大于參數(shù)字符串則返回值大于 0
。
public boolean regionMatches(int toffset, String other, int ooffset, int len)
如果 toffset
或 ooffset
是負(fù)的,或如果
toffset
+length
大于該字符串的長度,
或 ooffset
+length
大于參數(shù)字符串的長度,那么該方法返回 false
。
true
,否則返回 false
。
public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
如果 toffset
或 ooffset
是負(fù)的,或如果
toffset
+length
大于該字符串的長度,
或 ooffset
+length
大于參數(shù)字符串的長度,那么該方法返回 false
。
true
,則比較時(shí)忽略大小寫。
true
,否則返回
false
。 匹配是否精確或是否大小寫敏感依賴于
ignoreCase
參數(shù)。public boolean startsWith(String prefix, int toffset)
toffset
處的子字符串前綴則返回 true
,否則返回
false
。 public boolean startsWith(String prefix)
true
,否則返回 false
。
public boolean endsWith(String suffix)
true
,否則返回 false
。
public int hashCode()
public int indexOf(int ch)
-1
。
public int indexOf(int ch, int fromIndex)
fromIndex
字符的字符第一次出現(xiàn)處的索引,若字符沒有出現(xiàn)則返回 -1
。
public int lastIndexOf(int ch)
-1
。
public int lastIndexOf(int ch, int fromIndex)
fromIndex
字符的字符最后一次出現(xiàn)處的下標(biāo),若字符在該位置之前沒有出現(xiàn)過則返回
-1
。
public int indexOf(String str)
-1
。
public int indexOf(String str, int fromIndex)
fromIndex
的子串出現(xiàn)時(shí),則返回第一個(gè)這樣的子串首字符的索引。 若它沒有作為從 fromIndex
開始或靠后位置開始的子串出現(xiàn),則返回 -1
。
public int lastIndexOf(String str)
this.length()
位置。
-1
。
public int lastIndexOf(String str, int fromIndex)
fromIndex
。
fromIndex
的子串出現(xiàn)了一次或多次,則返回最后一個(gè)這樣的子串第一個(gè)字符的索引。若它沒有作為從 fromIndex
開始或靠前位置開始的子串出現(xiàn),則返回 -1
。
public String substring(int beginIndex)
beginIndex
超出了范圍。public String substring(int beginIndex, int endIndex)
beginIndex
,且擴(kuò)展到索引為
endIndex - 1
的位置。
beginIndex
或 endIndex
超出了范圍。
public String concat(String str)
如果參數(shù)長度是 0
,則返回該對(duì)象。
String
尾部的
String
。
public String replace(char oldChar, char newChar)
oldChar
替換成 newChar
。
如果字符 oldChar
沒有出現(xiàn)在該對(duì)象表示的字符串序列中,則返回該字符串。
oldChar
被替換為 newChar
得到。
public String toLowerCase(Locale locale)
String
中所有的字符轉(zhuǎn)換為小寫。
public String toLowerCase()
String
為小寫。
按照 Character
定義的
toLowerCase
方法,如果字符串中沒有應(yīng)該被轉(zhuǎn)換的字符,則返回原始字符串。
否則,將分配一個(gè)新字符串,它的長度等于該字符串,并且源字符串中每個(gè)該進(jìn)行小寫轉(zhuǎn)換的字符都被轉(zhuǎn)換成等價(jià)的小寫字符。
public String toUpperCase(Locale locale)
String
中的所有字符轉(zhuǎn)換為大寫。
public String toUpperCase()
String
為大寫。
按照 Character
定義的
toUpperCase
方法,如果在字符串中沒有應(yīng)該進(jìn)行大寫轉(zhuǎn)換的字符,則返回原始字符串。
否則,將分配一個(gè)新字符串,它的長度等于該字符串,并且源字符串中每個(gè)應(yīng)該大寫轉(zhuǎn)換的字符都被轉(zhuǎn)換成等價(jià)的大寫字符。
public String trim()
所有小于或等于 '\u0020'
(空格字符)的字符都被認(rèn)為是空格。
public String toString()
public char[] toCharArray()
public static String valueOf(Object obj)
Object
參數(shù)的字符串表示。
Object
.
null
,則返回一個(gè)等于
"null"
的字符串;否則返回 obj.toString()
。
public static String valueOf(char data[])
char
數(shù)組參數(shù)的字符串表示。
char
數(shù)組。
public static String valueOf(char data[], int offset, int count)
char
數(shù)組參數(shù)一個(gè)指定子數(shù)組的字符串。
offset
參數(shù)是子數(shù)組中第一個(gè)字符的索引。
count
參數(shù)指定了子數(shù)組的長度。
String
的起始偏移量。
String
字符序列的長度。
public static String copyValueOf(char data[], int offset, int count)
String
,包含了字符數(shù)組指定子數(shù)組中的字符。 public static String copyValueOf(char data[])
String
,包含了字符數(shù)組中的字符。
public static String valueOf(boolean b)
boolean
參數(shù)的字符串表示。
boolean
數(shù)。
true
,返回一個(gè)等于
"true"
的字符串;否則返回一個(gè)等于
"false"
的字符串。
public static String valueOf(char c)
char
* 參數(shù)的字符串表示。
char
型量。
1
的新字符串,它僅有的字符是參數(shù) c
。public static String valueOf(int i)
int
參數(shù)的字符串表示。
返回內(nèi)容和參數(shù)的
Integer.toString
方法返回的值相同。
int
量。
int
參數(shù)的字符串表示。
public static String valueOf(long l)
long
參數(shù)的字符串。
返回內(nèi)容和參數(shù)的
Long.toString
方法返回的值相同。
long
型量。
long
參數(shù)的字符串表示。
public static String valueOf(float f)
float
參數(shù)的字符串表示。
返回的內(nèi)容和參數(shù)的
Float.toString
方法返回的值相同。
float
型量。
float
參數(shù)的字符串表示。
public static String valueOf(double d)
double
參數(shù)的字符串表示。
返回的內(nèi)容和參數(shù)的
Double.toString
方法返回的值相同。
double
型量。
double
參數(shù)的字符串表示。
public native String intern()
如果 s
和 t
是
s.equals(t)
類型的字符串,那就保證了
s.intern() == t.intern().