如何連接整數列表List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);Optional<Integer> result = numbers.stream().reduce((subtotal, element)-> Integer.valueOf(subtotal + ", " + element));但我有一個例外:線程“main”中的異常 java.lang.NumberFormatException:對于輸入字符串:“1, 2”,位于 java.lang.NumberFormatException.forInputString(來源未知)
2 回答

Cats萌萌
TA貢獻1805條經驗 獲得超9個贊
如果你想使用reduce
將整數轉換為字符串然后使用累加器函數來做到這一點
Optional<String> result = numbers.stream().map(i->i.toString()).reduce((i,j)->i+", "+j);
或者你可以簡單地使用Collectors.joining
String str = numbers.stream().map(i->i.toString()).collect(Collectors.joining(", "));

慕后森
TA貢獻1802條經驗 獲得超5個贊
你可以用String.join它。它將給定的IterableofCharSequence與指定的分隔符連接起來(", "在您的情況下):
List<String> strings = numbers.stream().map(Object::toString).collect(Collectors.toList())
String concatenated = String.join(", ", strings)
添加回答
舉報
0/150
提交
取消