Java中將List列表轉換為字符串的三種方法
引言
如何在 Java中將List 轉換為 String。接下來使用Java 8 Streams Collectors api和String.join()方法將帶有逗號分隔符或自定義分隔符的集合轉換為字符串。這種轉換是通過使用 java api 方法的簡單步驟完成的。首先了解如何使用toString()方法將 List 轉換為 String,最后學習著名的 apache 庫命令StringUtils.join()方法。
對于所有示例,輸入列表必須是 String 作為List類型,否則我們需要將非字符串轉換為 String。例如,List 是 Double 類型,然后需要先將 double 轉換為字符串。
使用標準 toString() 方法
List.toString()是最簡單的,但它在開頭和結尾添加方括號,每個字符串用逗號分隔符分隔。
缺點是我們不能用另一個分隔符替換逗號,也不能去掉方括號。
import java.util.Arrays; import java.util.List; 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添加了一個特殊的方法String.join()以將集合轉換為具有給定分隔符的字符串。
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~Five String with pipe delimiter : One|Two|Three|Four|Five
Collectors.joining()
Collectors.join()方法來自 java 8 stream api。Collctors.joining()方法將分隔符、前綴和后綴作為參數(shù)。此方法將列表轉換為具有給定分隔符、前綴和后綴的字符串。
查看以下有關使用不同分隔符的 join() 方法的示例。但是,String.join() 方法不提供前綴和后綴選項。
如果您需要自定義分隔符、前綴和后綴,請使用這些。如果您不想要前綴和后綴,則提供空字符串以不在結果字符串前后添加任何內容。
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 包的外部庫。該庫有一個方法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
結論
在本文中,我們已經(jīng)看到了在 java 8 之前和之后如何使用不同的方法在 java 中將 List 轉換為 String。對給定的分隔符使用 String.join() 方法從 List 生成字符串是很好的?;蛘撸绻胩砑忧熬Y或后綴,請使用帶有分隔符、前綴和后綴值的流 api Collectors.joining() 方法。
以上就是Java中將List列表轉換為字符串的三種方法的詳細內容,更多關于Java List列表轉字符串的資料請關注腳本之家其它相關文章!
相關文章
詳解Spring Boot 使用Java代碼創(chuàng)建Bean并注冊到Spring中
本篇介紹了Spring Boot 使用Java代碼創(chuàng)建Bean并注冊到Spring中,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02Postman form-data、x-www-form-urlencoded的區(qū)別及說明
這篇文章主要介紹了Postman form-data、x-www-form-urlencoded的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03基于javaweb+jsp的游泳館會員管理系統(tǒng)(附源碼)
這篇文章主要介紹了基于javaweb+jsp的游泳館會員管理系統(tǒng),開發(fā)工具eclipse/idea/myeclipse/sts等均可配置運行,此源代碼社和課程設計,大作業(yè)及畢業(yè)設計項目,需要的朋友可以參考下2022-04-04springboot整合Nacos組件環(huán)境搭建和入門案例詳解(最新推薦)
本文介紹了Nacos的基礎概念、關鍵特性、專業(yè)術語和生態(tài)圈,如何在Windows環(huán)境下搭建Nacos單個服務,以及如何整合SpringBoot2來使用Nacos進行服務注冊和配置管理,感興趣的朋友一起看看吧2025-03-03