Ara*_*gor 2 java java-8 java-stream
为什么toString我在使用时无法解决该方法Arrays.stream()或IntStream:
int row[] = ...
Arrays.stream(row)
.map(Arrays::toString)
.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
但是,另一方面,它可以在我使用时解决Stream.of():
int row[] = ...
Stream.of(row)
.map(Arrays::toString)
.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
Stream.of(row)将返回Stream<int[]>其单个元素是row数组.Arrays包含一个toString接受a的静态方法int[],所以你的第二个片段通过了编译.
另一方面,Arrays.stream(row)(以及IntStream.of(row))返回IntStream其元素为的元素int.有没有toString在方法Arrays类,带有一个int参数.
你可以用Integer's static toString方法代替:
Arrays.stream(row)
.mapToObj(Integer::toString)
.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
请注意,您应该调用mapToObj而不是map在将基元映射int到引用类型时.