Java8中将list转换为用逗号隔开的字符串的几种方法
1.使用谷歌的Joiner转换
public static <T> String parseListToStr(List<T> list){
String result = Joiner.on(",").join(list);
return result;
}
2.使用lambda表达式遍历集合
public static <T> String parseListToStr2(List<T> list){
StringBuffer sb = new StringBuffer();
list.stream().forEach(str->{
sb.append(str).append(",");
});
sb.deleteCharAt(sb.length()-1);
return sb.toString();
}
3.直接使用stream流实现
public static <T> String parseListToStr3(List<T> list){
String result = list.stream().map(String::valueOf).collect(Collectors.joining(","));
return result;
}
4.使用for循环遍历集合
public static <T> String parseListToStr(List<T> list){
StringBuffer sb = new StringBuffer();
if(listIsNotNull(list)) {
for(int i=0;i<=list.size()-1;i++){
if(i<list.size()-1){
sb.append(list.get(i) + ",");
}else {
sb.append(list.get(i));
}
}
}
return sb.toString();
}
注意:在转换集合前应该都统一做判空处理(个人推荐第一种方法)