Java8中StringJoiner類(lèi)的使用詳解
Java在java.util包中添加了一個(gè)新的最終類(lèi)StringJoiner。
它用于構(gòu)造由定界符分隔的字符序列?,F(xiàn)在,您可以通過(guò)傳遞諸如comma(,),hyphen(-)等分隔符來(lái)創(chuàng)建字符串。還可以將前綴和后綴傳遞給char序列。
Java8 StringJoiner類(lèi)的構(gòu)造方法
| 構(gòu)造方法 | 描述 |
|---|---|
| public StringJoiner(CharSequence delimiter) | 構(gòu)造一個(gè)不帶任何字符,沒(méi)有前綴或后綴的StringJoiner,以及提供的定界符的副本。如果分隔符為null,則拋出NullPointerException。 |
| public StringJoiner(CharSequence delimiter,CharSequence prefix,CharSequence suffix) | 使用提供的前綴,定界符和后綴的副本構(gòu)造一個(gè)不帶任何字符的StringJoiner。如果前綴,分隔符或后綴為null,則拋出NullPointerException。 |
Java8 StringJoiner類(lèi)的方法
| 方法 | 描述 |
|---|---|
| public StringJoiner add(CharSequence newElement) | 將給定CharSequence值的副本添加為StringJoiner值的下一個(gè)元素。如果newElement為null,則添加“ null”。 |
| public StringJoiner merge(StringJoiner other) | 如果它不是空的,它將添加不帶前綴和后綴的給定StringJoiner的內(nèi)容作為下一個(gè)元素。如果給定的StringJoiner為空,則該調(diào)用無(wú)效。 |
| public int length() | 返回此StringJoiner的String表示形式的長(zhǎng)度。 |
| 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]
合并兩個(gè)StringJoiner
merge() 方法合并兩個(gè)StringJoiner對(duì)象,但不包括第二個(gè)StringJoiner對(duì)象的前綴和后綴。
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與:(冒號(hào))分隔符
StringJoiner joinNames2 = new StringJoiner(":", "[", "]"); // passing colon(:) and square-brackets as delimiter
// Adding values to StringJoiner
joinNames2.add("Peter");
joinNames2.add("Raheem");
// 合并兩個(gè)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的長(zhǎng)度
int length = joinNames.length();
System.out.println("Length: "+length);
// 返回StringJoiner作為字符串類(lèi)型
String str = joinNames.toString();
System.out.println(str);
// 現(xiàn)在,我們可以對(duì)它應(yīng)用字符串方法
char ch = str.charAt(3);
System.out.println("Character at index 3: "+ch);
// 添加一個(gè)元素
joinNames.add("Sorabh");
System.out.println(joinNames);
//返回長(zhǎng)度
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類(lèi)的使用詳解的文章就介紹到這了,更多相關(guān)Java8 StringJoiner類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis新手快速入門(mén)以及一些錯(cuò)誤匯總
這篇文章主要給大家介紹了關(guān)于mybatis新手快速入門(mén)以及一些錯(cuò)誤的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Java使用JDBC向MySQL數(shù)據(jù)庫(kù)批次插入10W條數(shù)據(jù)(測(cè)試效率)
使用JDBC連接MySQL數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)插入的時(shí)候,特別是大批量數(shù)據(jù)連續(xù)插入(100000),如何提高效率呢?今天小編通過(guò)本教程給大家介紹下2016-12-12
Java實(shí)現(xiàn)企業(yè)微信回調(diào)配置的詳細(xì)步驟與測(cè)試
這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)企業(yè)微信回調(diào)配置的詳細(xì)步驟與測(cè)試,企業(yè)微信回調(diào)是指企業(yè)微信通過(guò)HTTP?POST請(qǐng)求將業(yè)務(wù)數(shù)據(jù)回調(diào)到指定的URL上,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下2023-09-09
java實(shí)現(xiàn)數(shù)字轉(zhuǎn)大寫(xiě)的方法
這篇文章主要介紹了 java實(shí)現(xiàn)數(shù)字轉(zhuǎn)大寫(xiě)的方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10
java文件下載設(shè)置中文名稱(chēng)的實(shí)例(response.addHeader)
下面小編就為大家分享一篇java文件下載設(shè)置中文名稱(chēng)的實(shí)例(response.addHeader),具有很好的參考價(jià)值,希望對(duì)大家有所幫助2017-12-12
Java線程和操作系統(tǒng)線程的關(guān)系解讀
這篇文章主要介紹了Java線程和操作系統(tǒng)線程的關(guān)系解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06

