public class List2String {
public static void main(String[] args) {
List<String> list = Arrays.asList("a","b","c","d","e");
//1.使用String.join()
String str1 = String.join(",",list);
//2.采用流的方式來寫
String str2 = list2.stream().collect(Collectors.joining(","));
//擴(kuò)展.guava工具包
String str3 = Joiner.on(",").join(list);
}
}
public class String2List {
public static void main(String[] args) {
String string= "a,b,c";
//方法1
List<String> list = Arrays.asList(string.split(","));
System.out.println(list);
//方法2 guava 去前后空格&&去空string
Splitter split = Splitter.on(',').trimResults().omitEmptyStrings();
List<String> list1 = split.splitToList(string);
}
延申一點(diǎn) Arrays.asList:
Arrays.asList()將數(shù)組轉(zhuǎn)換為集合后,底層其實(shí)還是數(shù)組全闷。
1)通過Arrays.asList方法得到的list是固定大小的蝙泼,不可以add或remove方法去改變list的元素
2)不支持基礎(chǔ)數(shù)據(jù)類型的轉(zhuǎn)換
3)改變?cè)紨?shù)組的內(nèi)容或者改變通過Arrays.asList方法得到的list的元素值值璃诀,相互之間的數(shù)據(jù)都會(huì)自動(dòng)更新,因?yàn)檫@個(gè)方法是將數(shù)組和列表鏈接起來
正確的操作是:
String [] arry = {"a", "b", "c"};
ArrayList arrayList = new ArrayList<>(Arrays.asList(arry));
或者
List arrayList = Arrays.stream(arry).collect(Collectors.toList());