將 List 轉(zhuǎn)換為 String

將 List 轉(zhuǎn)換為 String的幾種方式
1、使用toString()方法將 List 轉(zhuǎn)換為 String
2吧碾、使用Java 8 Streams Collectors api和String.join()方法將帶有逗號分隔符或自定義分隔符的集合轉(zhuǎn)換為字符串凰盔。
3、 apache 庫命令StringUtils.join()方法倦春。
對于所有示例户敬,輸入列表必須是 String 作為List類型,否則我們需要將非字符串轉(zhuǎn)換為 String睁本。例如尿庐,List 是 Double 類型,然后需要先將 double 轉(zhuǎn)換為字符串添履。

使用標(biāo)準(zhǔn) toString() 方法
List.toString()是最簡單的屁倔,但它在開頭和結(jié)尾添加方括號,每個字符串用逗號分隔符分隔暮胧。
缺點是我們不能用另一個分隔符替換逗號锐借,也不能去掉方括號。

/**

  • 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);        
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
輸出:String : [One, Two, Three, Four, Five]
1
Java 8 String.join()
java 8 String添加了一個特殊的方法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);

}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
輸出:
String with tilde delimiter: OneTwoThreeFourFive
String with pipe delimiter : One|Two|Three|Four|Five
1
2
3
Collectors.joining()
Collectors.join()方法來自 java 8 stream api钞翔。Collctors.joining()方法將分隔符、前綴和后綴作為參數(shù)席舍。此方法將列表轉(zhuǎn)換為具有給定分隔符布轿、前綴和后綴的字符串。
查看以下有關(guān)使用不同分隔符的 join() 方法的示例来颤。但是汰扭,String.join() 方法不提供前綴和后綴選項。
如果您需要自定義分隔符福铅、前綴和后綴萝毛,請使用這些。如果您不想要前綴和后綴滑黔,則提供空字符串以不在結(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);


}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
輸出:
Collectors.joining string : {One-Two-Three-Four-Five}
Collectors.joining string with @ separator : One@Two@Three@Four@Five
1
2
3
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);


}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
輸出:
StringUtils.join string with ^ delimiter : OneTwoThreeFourFive
StringUtils.join string with @ separator : OneTwoThreeFourFive

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市汛兜,隨后出現(xiàn)的幾起案子巴粪,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件验毡,死亡現(xiàn)場離奇詭異衡创,居然都是意外死亡帝嗡,警方通過查閱死者的電腦和手機(jī)晶通,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哟玷,“玉大人狮辽,你說我怎么就攤上這事〕补眩” “怎么了喉脖?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長抑月。 經(jīng)常有香客問我树叽,道長,這世上最難降的妖魔是什么谦絮? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任题诵,我火速辦了婚禮,結(jié)果婚禮上层皱,老公的妹妹穿的比我還像新娘性锭。我一直安慰自己,他們只是感情好叫胖,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布草冈。 她就那樣靜靜地躺著,像睡著了一般瓮增。 火紅的嫁衣襯著肌膚如雪怎棱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天绷跑,我揣著相機(jī)與錄音拳恋,去河邊找鬼。 笑死你踩,一個胖子當(dāng)著我的面吹牛诅岩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播带膜,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼吩谦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了膝藕?” 一聲冷哼從身側(cè)響起式廷,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芭挽,沒想到半個月后滑废,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝗肪,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年蠕趁,在試婚紗的時候發(fā)現(xiàn)自己被綠了薛闪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡俺陋,死狀恐怖豁延,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腊状,我是刑警寧澤诱咏,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站缴挖,受9級特大地震影響袋狞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜映屋,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一苟鸯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧秧荆,春花似錦倔毙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至颁股,卻和暖如春么库,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背甘有。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工诉儒, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人亏掀。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓忱反,卻偏偏與公主長得像,于是被迫代替她去往敵國和親滤愕。 傳聞我的和親對象是個殘疾皇子温算,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容