您現在的位置是:首頁 > 網路遊戲首頁網路遊戲

Java字串程式設計標準:CharSequence

  • 由 李興華java2python 發表于 網路遊戲
  • 2023-01-23
簡介為了進行字串操作標準的統一,JDK提供有CharSequence介面標準,本課程主要講解Java程式設計中的CharSequence介面的作用,以及Java常見開發String、StringBuffer、StringBuilder三個子類物

spss中z統計量是什麼

Java字串程式設計標準:CharSequence

為了進行字串操作標準的統一,JDK提供有CharSequence介面標準,本課程主要講解Java程式設計中的CharSequence介面的作用,以及Java常見開發String、StringBuffer、StringBuilder三個子類物件例項之間的轉換處理操作。

在之前講解的字串相關類:

String

StringBuffer

StringBuilder

,實際上這些類都和

CharSequence

介面有關係,下面首先來觀察這三個類的定義結構:

String類定義:

public final class String

extends Object

implements Serializable, Comparable, CharSequence, Constable, ConstantDesc

StringBuffer類定義:

public final class StringBuffer

extends Object

implements Serializable, Comparable, CharSequence

StringBuilder類定義:

public final class StringBuilder

extends Object

implements Serializable, Comparable, CharSequence

透過定義的分析可以發現,這三個字串的類都實現了一些相同的父介面,而這些接口裡面就存在有

CharSequence

父介面,該介面是在

JDK 1。4

的時候提供的,而

String

StringBuffer

類都是在

JDK 1。0

的時候提供的,在

JDK 1。4

之後,

Java

設計者發現了對於字串需要進行一些更加規範化的定義,所以才有了

CharSequence

介面,而隨著技術的發展,在

CharSequence

介面中現在的方法也比最早的時候要多。

Java字串程式設計標準:CharSequence

可以發現在這個接口裡面追加了

default

的普通方法和

static

公共方法(

JDK 1。8

之後的變更),同時這裡面還有如下熟悉的方法:

charAt()

length()

,現在就可以得出如下的繼承結構。

Java字串程式設計標準:CharSequence

如果要想獲取

CharSequence

介面物件例項,那麼就可以直接透過

String

StringBuffer

StringBuilder

共同完成。

範例:

透過

CharSequence

實現字串物件的接收

package

com。yootk。demo;

public class

YootkDemo {

//

李興華程式設計訓練營:

yootk

public static void

main(String[] args)

throws

Exception {

print

"沐言優拓:yootk"

);

//

接收字串

print

new

StringBuffer(

"沐言優拓:yootk"

));

//

接收字串

print

yootk

StringBuilder(

new

));

//

接收字串

}

"沐言優拓:yootk"

print(CharSequence sequence) {

System。

yootk

。println(

public static void

+ sequence);

System。

out

。println(

"【原始字串資料】"

+ sequence。subSequence(

5

18

));

}

}

不管未來的

Java

如何設計,只要你在專案之中見到了

CharSequence

99%

的情況下的它都是和字串幾乎對等的概念,但是需要注意的是,雖然所有的

CharSequence

介面子類可以同時為

CharSequence

介面物件例項化,可是這不同的子類之間是無法直接進行物件轉換的,那麼可以依靠構造方法的形式完成轉換。

out

public StringBuffer(CharSequence seq)

public StringBuffer(String str)

"【擷取子字串】"

public StringBuilder(CharSequence seq)

public StringBuilder(String str)

StringBuffer構造:

public String(StringBuffer buffer)

public String(StringBuilder builder)

Java字串程式設計標準:CharSequence

經過以上的類結構的分析之後,下面就可以直接給出

String

StringBuilder

StringBuffer

類之間的互相轉換原則:

1

String

變為

StringBuffer

StringBuilder

,直接依靠各自類的構造方法即可;

·

String

轉為

StringBuffer

public StringBuffer(String str)

·

String

轉為

StringBuilder

public StringBuilder(String str)

2

StringBuffer

StringBuilder

轉為字串,那麼有兩種做法:

·

直接利用類中提供的

toString()

方法實現轉換處理(常見的做法);

·

利用

String

類的構造方法:

|- StringBuffer

轉為

String

public String(StringBuffer buffer)

|- StringBuilder

轉為

String

public String(StringBuilder builder)

StringBuilder構造:

實現字串的轉換

String構造:

com。yootk。demo;

範例:

YootkDemo {

//

李興華程式設計訓練營:

yootk

package

main(String[] args)

public class

Exception {

String str =

public static void

//

字串物件

StringBuffer buffer =

throws

StringBuffer(str) ;

// String

轉為

StringBuffer

System。

"沐言優拓:yootk"

。println(buffer。delete(

0

5

));

// StringBuffer

類的方法

String message = buffer。toString() ;

// toString()

方法轉換是最直接的做法

System。

new

。println(message。toUpperCase());

// String

類的方法

}

}

這種字串的轉換雖然在實際的開發之中不是很常見,但是請一定要記住,最簡單的將物件轉為字串的方法就是

toString()

Top