gpt4 book ai didi

javascript - 使用streams().reduce 从ArrayList 构建一个字符串?

转载 作者:行者123 更新时间:2023-12-03 22:52:54 24 4
gpt4 key购买 nike

JavaScript 我们可以使用 reducer 构建其他类型的字符串(例如 num to string):

const string = [1,2,3,4,5].reduce((acc,e) => acc += e, "") //"12345"
Java ,从其他类型构建字符串时,这种模式并不容易:
ArrayList<Integer> arrayListOfIntegers = (ArrayList<Integer>) Arrays.asList(1,2,3,4);
String string = arrayListOfIntegers.stream().reduce("", (String acc, Integer e) -> acc += e); // acc += e throws error
错误是:

"Bad return type: String cannot be converted to integer"


这种模式在 Java 中是不可能的吗?

最佳答案

在 Java 中,您可以使用 Collectors.joining 简单地收集流

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
public static void main(String[] args) {
List<Integer> arrayListOfIntegers = Arrays.asList(1, 2, 3, 4);
String str = arrayListOfIntegers.stream().map(String::valueOf).collect(Collectors.joining());
System.out.println(str);
}
}
输出:
1234

关于javascript - 使用streams().reduce 从ArrayList<Integer> 构建一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66865285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com