Java8中StringJoiner類的使用詳解
Java在java.util包中添加了一個新的最終類StringJoiner。
它用于構(gòu)造由定界符分隔的字符序列?,F(xiàn)在,您可以通過傳遞諸如comma(,),hyphen(-)等分隔符來創(chuàng)建字符串。還可以將前綴和后綴傳遞給char序列。
Java8 StringJoiner類的構(gòu)造方法
| 構(gòu)造方法 | 描述 |
|---|---|
| public StringJoiner(CharSequence delimiter) | 構(gòu)造一個不帶任何字符,沒有前綴或后綴的StringJoiner,以及提供的定界符的副本。如果分隔符為null,則拋出NullPointerException。 |
| public StringJoiner(CharSequence delimiter,CharSequence prefix,CharSequence suffix) | 使用提供的前綴,定界符和后綴的副本構(gòu)造一個不帶任何字符的StringJoiner。如果前綴,分隔符或后綴為null,則拋出NullPointerException。 |
Java8 StringJoiner類的方法
| 方法 | 描述 |
|---|---|
| public StringJoiner add(CharSequence newElement) | 將給定CharSequence值的副本添加為StringJoiner值的下一個元素。如果newElement為null,則添加“ null”。 |
| public StringJoiner merge(StringJoiner other) | 如果它不是空的,它將添加不帶前綴和后綴的給定StringJoiner的內(nèi)容作為下一個元素。如果給定的StringJoiner為空,則該調(diào)用無效。 |
| public int length() | 返回此StringJoiner的String表示形式的長度。 |
| public StringJoiner setEmptyValue(CharSequence emptyValue) | 設(shè)置確定此StringJoiner的字符串表示形式時(shí)要使用的字符序列,并且尚未添加任何元素(即,當(dāng)它為空時(shí))。 |
分割案例
import java.util.StringJoiner;
public class StringJoinerExample {
public static void main(String[] args) {
StringJoiner joinNames = new StringJoiner(","); // passing comma(,) as delimiter
// Adding values to StringJoiner
joinNames.add("Rahul");
joinNames.add("Raju");
joinNames.add("Peter");
joinNames.add("Raheem");
System.out.println(joinNames);
}
}
輸出結(jié)果為:
Rahul,Raju,Peter,Raheem
添加前綴和后綴
import java.util.StringJoiner;
public class StringJoinerExample {
public static void main(String[] args) {
StringJoiner joinNames = new StringJoiner(",", "[", "]"); // passing comma(,) and square-brackets as delimiter
// Adding values to StringJoiner
joinNames.add("Rahul");
joinNames.add("Raju");
joinNames.add("Peter");
joinNames.add("Raheem");
System.out.println(joinNames);
}
}
輸出結(jié)果為:
[Rahul,Raju,Peter,Raheem]
合并兩個StringJoiner
merge() 方法合并兩個StringJoiner對象,但不包括第二個StringJoiner對象的前綴和后綴。
import java.util.StringJoiner;
public class StringJoinerExample {
public static void main(String[] args) {
StringJoiner joinNames = new StringJoiner(",", "[", "]"); // passing comma(,) and square-brackets as delimiter
// Adding values to StringJoiner
joinNames.add("Rahul");
joinNames.add("Raju");
// 創(chuàng)建StringJoiner與:(冒號)分隔符
StringJoiner joinNames2 = new StringJoiner(":", "[", "]"); // passing colon(:) and square-brackets as delimiter
// Adding values to StringJoiner
joinNames2.add("Peter");
joinNames2.add("Raheem");
// 合并兩個StringJoiner
StringJoiner merge = joinNames.merge(joinNames2);
System.out.println(merge);
}
}
輸出結(jié)果為:
[Rahul,Raju,Peter:Raheem]
StringJoiner方法
import java.util.StringJoiner;
public class StringJoinerExample {
public static void main(String[] args) {
StringJoiner joinNames = new StringJoiner(","); // passing comma(,) as delimiter
// 因?yàn)樗强盏模允裁匆膊淮蛴?
System.out.println(joinNames);
// 我們可以設(shè)置默認(rèn)空值
joinNames.setEmptyValue("It is empty");
System.out.println(joinNames);
// 向StringJoiner添加值
joinNames.add("Rahul");
joinNames.add("Raju");
System.out.println(joinNames);
// 返回StringJoiner的長度
int length = joinNames.length();
System.out.println("Length: "+length);
// 返回StringJoiner作為字符串類型
String str = joinNames.toString();
System.out.println(str);
// 現(xiàn)在,我們可以對它應(yīng)用字符串方法
char ch = str.charAt(3);
System.out.println("Character at index 3: "+ch);
// 添加一個元素
joinNames.add("Sorabh");
System.out.println(joinNames);
//返回長度
int newLength = joinNames.length();
System.out.println("New Length: "+newLength);
}
}
輸出結(jié)果為:
It is empty
Rahul,Raju
Length: 10
Rahul,Raju
Character at index 3: u
Rahul,Raju,Sorabh
New Length: 17
到此這篇關(guān)于Java8中StringJoiner類的使用詳解的文章就介紹到這了,更多相關(guān)Java8 StringJoiner類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot?vue項(xiàng)目管理前后端實(shí)現(xiàn)編輯功能
這篇文章主要為大家介紹了springboot?vue項(xiàng)目管理前后端實(shí)現(xiàn)編輯功能,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Spring Boot集成mongodb數(shù)據(jù)庫過程解析
這篇文章主要介紹了Spring Boot集成mongodb數(shù)據(jù)庫過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
淺談Java自定義類加載器及JVM自帶的類加載器之間的交互關(guān)系
這篇文章主要介紹了淺談Java自定義類加載器及JVM自帶的類加載器之間的交互關(guān)系,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
ActiveMQ消息隊(duì)列技術(shù)融合Spring過程解析
這篇文章主要介紹了ActiveMQ消息隊(duì)列技術(shù)融合Spring過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
SpringBoot中使用攔截器攔截跳轉(zhuǎn)登錄的兩種實(shí)現(xiàn)方法
攔截器(Interceptor)是Spring框架提供的一種機(jī)制,用于在請求的生命周期中插入自定義邏輯,如身份驗(yàn)證、日志記錄等,本文將詳細(xì)介紹兩種在SpringBoot中使用攔截器來控制用戶登錄并跳轉(zhuǎn)到指定頁面的方法,需要的朋友可以參考下2024-11-11
關(guān)于Java變量的聲明、內(nèi)存分配及初始化詳解
下面小編就為大家?guī)硪黄P(guān)于Java變量的聲明、內(nèi)存分配及初始化詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
SpringBoot項(xiàng)目的logback日志配置(包括打印mybatis的sql語句)
這篇文章主要介紹了SpringBoot項(xiàng)目的logback日志配置(包括打印mybatis的sql語句),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

