List 转换成以逗号分割的String字符串

1、使用谷歌的Joiner(代码超级短)

import com.google.common.base.Joiner;
 
import java.util.ArrayList;
import java.util.List;
 
public class Convert {
    public static void main(String[] args) {
        List list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(5);
        list.add(4);
        list.add(1);
        System.out.println(Joiner.on(",").join(list));
    }
}
2、使用String.join方法(需要元素是CharSequence类型的子类才行,并且需要同类型)
   使用StringUtils.join方法(没有上面的限制) 推荐使用!!!!

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
 
public class Convert {
    public static void main(String[] args) {
        List list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(5);
        list.add(4);
        list.add(1);
        System.out.println(String.join(",", list.stream().map(String::valueOf).collect(Collectors.toList())));
        System.out.println(StringUtils.join(list, ",")); //对元素没有限制,如果list为null返回字符串null
    }
}
3、使用1.8新特性 collect转换
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

 
public class Convert {
    public static void main(String[] args) {
        List list = new ArrayList<>();
		list.add(1);
		list.add(2);
		list.add(5);
		list.add(4);
		list.add(1);
		System.out.println(list.stream().map(String::valueOf).collect(Collectors.joining(",")));
    }
}

拓展:  逗号分隔的String字符串转成List

public static void main(String args[]) {
        String arrayStr="1,2,5,4,1";

        //方式1
        List integerList = Arrays.stream(arrayStr.split(",")).map(s -> Integer.valueOf(s.trim())).collect(Collectors.toList());
        //方式2(判空处理,推荐)
        List integerList1 = StringUtils.isNotBlank(arrayStr)? Stream.of(arrayStr.split(",")).map(Integer::valueOf).collect(Collectors.toList()): Lists.newArrayList();
        //方式3
//        List integerList2 = Arrays.asList((Integer[]) ConvertUtils.convert("1,2".split(","), Integer.class));
        System.out.println(integerList1);
        System.out.println(integerList);
 
    }

 

 

 

 

你可能感兴趣的:(JAVA编程相关)