在 java 8 中连接整数列表

Use*_*ser -2 java string list java-8 java-stream

如何连接整数列表

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
Optional<Integer> result = numbers.stream().reduce((subtotal, element)-> Integer.valueOf(subtotal + ", " + element));
Run Code Online (Sandbox Code Playgroud)

但我有一个例外:

线程“main”中的异常java.lang.NumberFormatException:对于输入字符串:java.lang.NumberFormatException.forInputString(Unknown Source)处的“1, 2”

Dea*_*ool 5

如果你想使用reduce 将整数转换为字符串然后使用累加器函数

Optional<String> result = numbers.stream().map(i->i.toString()).reduce((i,j)->i+", "+j);
Run Code Online (Sandbox Code Playgroud)

或者你可以简单地使用 Collectors.joining

String str = numbers.stream().map(i->i.toString()).collect(Collectors.joining(", "));
Run Code Online (Sandbox Code Playgroud)

  • 恕我直言,与简单的“String str = Numbers.toString()”相比,付出如此多的努力并没有多大好处 (3认同)