这段代码有效(取自Javadoc):
List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
String commaSeparatedNumbers = numbers.stream()
.map(i -> i.toString())
.collect(Collectors.joining(", "));
这是无法编译的:
int[] numbers = {1, 2, 3, 4};
String commaSeparatedNumbers = Arrays.stream(numbers)
.map((Integer i) -> i.toString())
.collect(Collectors.joining(", "));
IDEA告诉我,“ lambda表达式中的返回类型字符串不兼容”。
为什么呢 以及如何解决?
IntStream
和之间有什么区别Stream<Integer>
?