Java將List轉(zhuǎn)換為String的幾種方式
將 List 轉(zhuǎn)換為 String的幾種方式
1、使用toString()方法將 List 轉(zhuǎn)換為 String
2、使用Java 8 Streams Collectors api和String.join()方法將帶有逗號(hào)分隔符或自定義分隔符的集合轉(zhuǎn)換為字符串。
3、 apache 庫命令StringUtils.join()方法。
對(duì)于所有示例,輸入列表必須是 String 作為List類型,否則我們需要將非字符串轉(zhuǎn)換為 String。例如,List 是 Double 類型,然后需要先將 double 轉(zhuǎn)換為字符串。
使用標(biāo)準(zhǔn) toString() 方法
List.toString()是最簡(jiǎn)單的,但它在開頭和結(jié)尾添加方括號(hào),每個(gè)字符串用逗號(hào)分隔符分隔。
缺點(diǎn)是我們不能用另一個(gè)分隔符替換逗號(hào),也不能去掉方括號(hào)。
/**
* Example to convert List to string using toString() method.
*
* @author javaprogramto.com
*
*/
public class ListToStringUsingToStringExample {
public static void main(String args) {
// creating a list with strings.
List<String> list = Arrays.asList("One",
"Two",
"Three",
"Four",
"Five");
// converting List<String> to String using toString() method
String stringFromList = list.toString();
// priting the string
System.out.println("String : "+stringFromList);
}
}輸出:String : [One, Two, Three, Four, Five]
Java 8 String.join()
java 8 String添加了一個(gè)特殊的方法String.join()以將集合轉(zhuǎn)換為具有給定分隔符的字符串。
public class ListToStringUsingString_JoinExample {
public static void main(String args) {
// creating a list with strings.
List<String> list = Arrays.asList("One",
"Two",
"Three",
"Four",
"Five");
// converting List<String> to String using toString() method
String stringFromList = String.join("~", list);
// priting the string
System.out.println("String with tilde delimiter: "+stringFromList);
// delimiting with pipe | symbol.
String stringPipe = String.join("|", list);
// printing
System.out.println("String with pipe delimiter : "+stringPipe);
}
}
輸出:String with tilde delimiter: One~Two~Three~Four~FiveString with pipe delimiter : One|Two|Three|Four|Five
Collectors.joining()
Collectors.join()方法來自 java 8 stream api。Collctors.joining()方法將分隔符、前綴和后綴作為參數(shù)。此方法將列表轉(zhuǎn)換為具有給定分隔符、前綴和后綴的字符串。
查看以下有關(guān)使用不同分隔符的 join() 方法的示例。但是,String.join() 方法不提供前綴和后綴選項(xiàng)。
如果您需要自定義分隔符、前綴和后綴,請(qǐng)使用這些。如果您不想要前綴和后綴,則提供空字符串以不在結(jié)果字符串前后添加任何內(nèi)容。
public class ListToStringUsingString_JoinExample {
public static void main(String args) {
// creating a list with strings.
List<String> list = Arrays.asList("One",
"Two",
"Three",
"Four",
"Five");
// using java 8 Collectors.joining with delimiter, prefix and suffix
String joiningString = list.stream().collect(Collectors.joining("-", "{", "}"));
// printing
System.out.println("Collectors.joining string : "+joiningString);
String joiningString3 = list.stream().collect(Collectors.joining("@", "", ""));
// printing
System.out.println("Collectors.joining string with @ separator : "+joiningString3);
}
}
輸出:
Collectors.joining string : {One-Two-Three-Four-Five}
Collectors.joining string with @ separator : One@Two@Three@Four@Five
Apache Commons StringUtils.join()
最后的方法是使用來自 apache commons 包的外部庫。該庫有一個(gè)方法StringUtils.join() ,它采用類似于 String.join() 方法的列表和分隔符。
public class ListToStringUsingStringUtils_JoinExample {
public static void main(String args) {
// creating a list with strings.
List<String> list = Arrays.asList("One",
"Two",
"Three",
"Four",
"Five");
// using java 8 Collectors.joining with delimiter, prefix and suffix
String joiningString = StringUtils.join(list, "^");
// printing
System.out.println("StringUtils.join string with ^ delimiter : "+joiningString);
String joiningString3 = StringUtils.join(list, "$");
// printing
System.out.println("StringUtils.join string with @ separator : "+joiningString3);
}
}
輸出:
StringUtils.join string with ^ delimiter : One^Two^Three^Four^Five
StringUtils.join string with @ separator : One$Two$Three$Four$Five
總結(jié)
到此這篇關(guān)于Java將List轉(zhuǎn)換為String的幾種方式的文章就介紹到這了,更多相關(guān)Java List轉(zhuǎn)換String內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot實(shí)現(xiàn)不同用戶不同訪問權(quán)限的示例代碼
這篇文章主要介紹了在SpringBoot中使用SpringSecurity實(shí)現(xiàn)基于角色的權(quán)限控制,涵蓋依賴添加、數(shù)據(jù)庫設(shè)計(jì)、實(shí)體類與Repository接口、UserDetailsService實(shí)現(xiàn)、安全配置、控制器創(chuàng)建及測(cè)試數(shù)據(jù)準(zhǔn)備,并提及@PreAuthorize注解與角色繼承配置,需要的朋友可以參考下2025-07-07
java基本教程之java線程等待與java喚醒線程 java多線程教程
這篇文章主要介紹了對(duì)線程等待/喚醒方法,文中使用了多個(gè)示例,大家參考使用吧2014-01-01
java中json和對(duì)象之間相互轉(zhuǎn)換的運(yùn)用
本文主要介紹了java中json和對(duì)象之間相互轉(zhuǎn)換的運(yùn)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
將Java(SpringBoot)項(xiàng)目打包為Docker鏡像的三種方法
這篇文章主要介紹了將Java(SpringBoot)項(xiàng)目打包為Docker鏡像的三種方法,分別是手動(dòng)構(gòu)建、使用Dockerfile和使用SpringBootMaven插件,每種方法都有其特點(diǎn)和適用場(chǎng)景,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
Java Comparator.comparing比較導(dǎo)致空指針異常的解決
這篇文章主要介紹了Java Comparator.comparing比較導(dǎo)致空指針異常的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java實(shí)現(xiàn)二分查找樹及其相關(guān)操作
二分查找樹是一種有組織的二叉樹。我們可以通過鏈接節(jié)點(diǎn)表示這樣一棵樹,二分查找樹(Binary Search Tree)的基本操作有搜索、求最大值、求最小值、求前驅(qū)、求后繼、插入及刪除,對(duì)java二分查找樹相關(guān)知識(shí)感興趣的朋友一起看看吧2021-07-07
IDEA的spring項(xiàng)目使用@Qualifier飄紅問題及解決
這篇文章主要介紹了IDEA的spring項(xiàng)目使用@Qualifier飄紅問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
SpringBoot中配置Web靜態(tài)資源路徑的方法
這篇文章主要介紹了SpringBoot中配置Web靜態(tài)資源路徑的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
分布式調(diào)度XXL-Job整合Springboot2.X實(shí)戰(zhàn)操作過程(推薦)
這篇文章主要介紹了分布式調(diào)度XXL-Job整合Springboot2.X實(shí)戰(zhàn)操作,包括定時(shí)任務(wù)的使用場(chǎng)景和常見的定時(shí)任務(wù),通過本文學(xué)習(xí)幫助大家該選擇哪個(gè)分布式任務(wù)調(diào)度平臺(tái),對(duì)此文感興趣的朋友一起看看吧2022-04-04

