使用Arrays.asList方法使用Stream打印int数组[复制]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Arrays.asList方法使用Stream打印int数组[复制]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我正在学习Stream,我尝试使用类Arrays中的asList方法打印一个int数组,不幸的是我得到了错误的结果。

有人可以向我解释为什么我得到这个错误的结果。

public class array {

public static void main(String[] args) {
    /*my way*/
    int [] array = new int[]{1,2,3,7,1};
    Arrays.asList(array).stream().forEach(System.out::println);
    System.out.println();

    /*the good way*/
    Arrays.stream(array).forEach(System.out::print);

    }

}

结果:

[E @慢跑

12371

答案
Arrays.asList(array) -> a List<int[]>

Arrays.asList(array).stream() -> Stream<int[]>

因此,int[]中的流中的每个元素,而不是int;所以你试图打印一个数组(Object);这不会像你期望的那样工作。

在第二个例子中:

Arrays.stream(array -> IntStream

因此这是有效的

以上是关于使用Arrays.asList方法使用Stream打印int数组[复制]的主要内容,如果未能解决你的问题,请参考以下文章

Java 集合处理/ 空值处理/ 异常处理,使用心得分享!

Arrays.asList()用法梳理

使用 Arrays.asList() 初始化列表的最佳方法是啥[重复]

Arrays类--Arrays.asList()方法使用

Arrays.asList的用法

Arrays.asList使用误区