您現在的位置是:首頁 > 網路遊戲首頁網路遊戲
Java字串程式設計標準:CharSequence
- 2023-01-23
spss中z統計量是什麼
為了進行字串操作標準的統一,JDK提供有CharSequence介面標準,本課程主要講解Java程式設計中的CharSequence介面的作用,以及Java常見開發String、StringBuffer、StringBuilder三個子類物件例項之間的轉換處理操作。
在之前講解的字串相關類:
String
、
StringBuffer
、
StringBuilder
,實際上這些類都和
CharSequence
介面有關係,下面首先來觀察這三個類的定義結構:
String類定義:
public final class String
extends Object
implements Serializable, Comparable
StringBuffer類定義:
public final class StringBuffer
extends Object
implements Serializable, Comparable
StringBuilder類定義:
public final class StringBuilder
extends Object
implements Serializable, Comparable
透過定義的分析可以發現,這三個字串的類都實現了一些相同的父介面,而這些接口裡面就存在有
CharSequence
父介面,該介面是在
JDK 1。4
的時候提供的,而
String
、
StringBuffer
類都是在
JDK 1。0
的時候提供的,在
JDK 1。4
之後,
Java
設計者發現了對於字串需要進行一些更加規範化的定義,所以才有了
CharSequence
介面,而隨著技術的發展,在
CharSequence
介面中現在的方法也比最早的時候要多。
可以發現在這個接口裡面追加了
default
的普通方法和
static
公共方法(
JDK 1。8
之後的變更),同時這裡面還有如下熟悉的方法:
charAt()
、
length()
,現在就可以得出如下的繼承結構。
如果要想獲取
CharSequence
介面物件例項,那麼就可以直接透過
String
、
StringBuffer
、
StringBuilder
共同完成。
範例:
透過
CharSequence
實現字串物件的接收
package
com。yootk。demo;
public class
YootkDemo {
//
李興華程式設計訓練營:
yootk
public static void
main(String[] args)
throws
Exception {
(
"沐言優拓:yootk"
);
//
接收字串
(
new
StringBuffer(
"沐言優拓:yootk"
));
//
接收字串
(
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)
經過以上的類結構的分析之後,下面就可以直接給出
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()
。