溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何理解JavaAPI中的String類(lèi)

發(fā)布時(shí)間:2021-11-26 10:04:22 來(lái)源:億速云 閱讀:137 作者:柒染 欄目:編程語(yǔ)言

如何理解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è)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI