byte数组使用Arrays.asList转换List出错

  今天用ArrayList拼接所有读取到的byte数组,谁想总是失败,读取的byte数组转换成list时,都变成了一个元素,而不是数组的个数。

代码

 结果

 原来,java基本类型的数组不能直接通过Arrays.asList方法转换为List,List的元素必须是包装类。在Java8之前,想要实现这种转换只能通过循环。对于int, long, double三种基本类型,Java8提供的新特性Stream则可以让我们在一行之内解决这个问题。

1 list = Arrays.stream(arrays).boxed().collect(Collectors.toList());

但只支持int、long、和double,所以byte[]转换成list还是得用循环。

原文地址:https://www.cnblogs.com/guanghe/p/13615951.html