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<Integer> 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类型的子类才行,并且需要同类型)

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
 
public class Convert {
    public static void main(String[] args) {
        List<Integer> 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())));
    }
}
3、使用collect转换
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class Convert {
public static void main(String[] args) {
List<Integer> 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<Integer> integerList = Arrays.stream(arrayStr.split(",")).map(s -> Integer.valueOf(s.trim())).collect(Collectors.toList());
        //方式2(判空处理,推荐)
        List<Integer> integerList1 = StringUtils.isNotBlank(arrayStr)? Stream.of(arrayStr.split(",")).map(Integer::valueOf).collect(Collectors.toList()): Lists.newArrayList();
        //方式3
//        List<Integer> integerList2 = Arrays.asList((Integer[]) ConvertUtils.convert("1,2".split(","), Integer.class));
        System.out.println(integerList1);
        System.out.println(integerList);
 
    }
 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐