相关疑难解决方法(0)

为什么我不能在从数组流式传输时将整数映射到字符串?

此代码有效(在Javadoc中使用):

List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
String commaSeparatedNumbers = numbers.stream()
    .map(i -> i.toString())
    .collect(Collectors.joining(", "));
Run Code Online (Sandbox Code Playgroud)

这个不能编译:

int[] numbers = {1, 2, 3, 4};
String commaSeparatedNumbers = Arrays.stream(numbers)
    .map((Integer i) -> i.toString())
    .collect(Collectors.joining(", "));
Run Code Online (Sandbox Code Playgroud)

IDEA告诉我,我在lambda表达式中有一个"不兼容的返回类型字符串".

为什么?以及如何解决这个问题?

java functional-programming java-8 java-stream

84
推荐指数
3
解决办法
4万
查看次数