Java 将数字数组转换为CSV字符串的最佳方法?

Java 将数字数组转换为CSV字符串的最佳方法?,java,csv,java-8,Java,Csv,Java 8,如果我有一个字符串[](假设没有逗号),我可以简单地生成一个CSV行。例如: String[] header = {"header0", "header1", "header2"}; String joined = String.join(",", header); 用sayint[]vals01={0,1,2}做等效的好方法是什么?(我考虑使用数组。toStase并将结束部分切片为丑。)< /P> < P>考虑使用新的(java 8)。< /P> 对于字符串[]: String[] head

如果我有一个
字符串[]
(假设没有逗号),我可以简单地生成一个CSV行。例如:

String[] header = {"header0", "header1", "header2"};
String joined = String.join(",", header);
用say
int[]vals01={0,1,2}做等效的好方法是什么?(我考虑使用<代码>数组。toStase并将结束部分切片为丑。)< /P> < P>考虑使用新的(java 8)。< /P>
对于
字符串[]

String[] header = {"header0", "header1", "header2"};
StringJoiner joiner = new StringJoiner(",");
Arrays.stream(header).forEach(joiner::add);
String joined = joiner.toString();
int[] ints = {1, 2, 3};
StringJoiner joiner = new StringJoiner(",");
Arrays.stream(ints).forEach(i -> joiner.add(Integer.toString(i)));
String joined = joiner.toString();
System.out.println(joined);
对于
int[]
的情况:

String[] header = {"header0", "header1", "header2"};
StringJoiner joiner = new StringJoiner(",");
Arrays.stream(header).forEach(joiner::add);
String joined = joiner.toString();
int[] ints = {1, 2, 3};
StringJoiner joiner = new StringJoiner(",");
Arrays.stream(ints).forEach(i -> joiner.add(Integer.toString(i)));
String joined = joiner.toString();
System.out.println(joined);

这可以通过一行程序中的Streams API完成:

Arrays.stream(new int[] {0, 1, 2}).mapToObj(String::valueOf).collect(joining(","));
(假设
导入静态java.util.stream.collector.joining