您好,登錄后才能下訂單哦!
如何理解JavaAPI中的String類(lèi),相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
JavaAPI之String類(lèi)
[size=10.5000pt]一、所屬包java.lang.String,沒(méi)有子類(lèi)。特點(diǎn):一旦被初始化就不可以被改變。
創(chuàng)建類(lèi)對(duì)象的兩種方式:
String s1 = “abc”;
String s1 = new String(“abc”);
內(nèi)存存在方式:
String Str = “jack”這個(gè)語(yǔ)句會(huì)先檢查字符串常量池是否存放這個(gè)”jack1”這個(gè)字符串對(duì)象,如果沒(méi)有存在,那么就會(huì)在字符串常量池中創(chuàng)建這個(gè)字符串對(duì)象,如果存在直接返回該字符串的內(nèi)存地址值。
String str3 = new String(“jack”) 該語(yǔ)句會(huì)創(chuàng)建兩個(gè)對(duì)象,首先會(huì)先檢查字符串常量池中存不存在jack這個(gè)字符串對(duì)象,如果不存在就會(huì)創(chuàng)建,如果存在就返回內(nèi)存地址值。創(chuàng)建了出來(lái)之后,new String這個(gè)語(yǔ)句就會(huì)在堆內(nèi)存中開(kāi)辟一個(gè)字符串對(duì)象??偣矁蓚€(gè)對(duì)象。
注意:equals比較的是對(duì)象的內(nèi)存地址,但是String類(lèi)復(fù)寫(xiě)了Object類(lèi)中的equals方法,用于判斷字符串是否相同。s1.equals(s2)為true。
[size=10.5000pt]二、對(duì)字符串操作的方法
[size=10.5000pt]1、獲取方法:
1.1:int length() 字符串的長(zhǎng)度
1.2:char charAt(int index) 特定位置的字符 (角標(biāo)越界報(bào)錯(cuò))
1.3:int indexOf(int ch) 特定字符的位置(overload)(該字符多余1個(gè)返回第一個(gè)出現(xiàn)的位置)沒(méi)有找到返回-1
Int indexOf(int ch,int fromIndex) 從指定位置開(kāi)始搜索
int indexOf(String str) 子字符的位置(overload)
Int indexOf(iString str,int fromIndex) 從指定位置開(kāi)始搜索
1.4:int lastIndexOf(int ch) 最后一個(gè)字符的位置
[size=10.5000pt]2、判斷方法:
2.1:字符串是否包含某個(gè)子串
boolean contains(CharSequences) CharSequences字符序列也可以用int indexOf(String str),返回-1說(shuō)明不包含。
2.2是否以指定內(nèi)容開(kāi)頭 Boolean startsWith(String str)
2.3是否以指定內(nèi)容結(jié)尾 boolean endsWith(String str)
2.4是否為空 boolean isEmpty()是否長(zhǎng)度為0 如:“” null V1.6
2.5是否相等 boolean equals(Object anObject) 是否相等
boolean equalsIgnoreCase(String anotherString) 忽略大小寫(xiě)是否相等
[size=10.5000pt]三、轉(zhuǎn)換功能
3.1:將字符數(shù)組轉(zhuǎn)成字符串
1)構(gòu)造函數(shù):String (char[])
String (char[],offset,count)將字符數(shù)組一部分轉(zhuǎn)成字符串(offset開(kāi)始,count個(gè)數(shù))
例:
Char[] arr = {‘a(chǎn)’,‘b’,‘c’,‘d’,‘e’};
String str = new String (arr,1,3);
[size=10.5000pt] 2)靜態(tài)方法:
[size=10.5000pt] 3)Static String copyValue Of(char[])
[size=10.5000pt] 4)Static String copyValue Of(char[],offset,count)
Static String Value Of(char[])
3.2:將字符串轉(zhuǎn)成字符數(shù)組
Char[] toCharArray();
3.3將字節(jié)數(shù)組轉(zhuǎn)成字符串
String (byte[])
String(byte[],offset,count)
3.4字符串轉(zhuǎn)成字節(jié)數(shù)組
Byte[] getBytes();
3.5:將基本數(shù)據(jù)類(lèi)型轉(zhuǎn)成字符串
Static String Value Of(int)
Static String Value Of(double)
2+””
四、替換方法
String replace(char old,char,new);
String s=”hello java”; String s1 = s.replace(e,k); s為hello java, s1 為hkllo java
String s1 = s.replace(“java”,”word”);
[size=10.5000pt]五、切割方法
String[] split(regex);
[size=10.5000pt]六、子串,獲取
String substring(int beginindex,int endindex)包含頭不包含尾
String substring(int begin)
[size=10.5000pt]七、轉(zhuǎn)換、去除空格、比較
7.1:大小寫(xiě)轉(zhuǎn)換
String toUpperCase();
String toLowerCase();
7.2:去除兩端多個(gè)空格
String trim();
7.3對(duì)兩個(gè)字符串自然順序比較
Int CompareTo() 等于0 小于 負(fù)數(shù) 大于-正數(shù) 比較的ASCII
看完上述內(nèi)容,你們掌握如何理解JavaAPI中的String類(lèi)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。