Arrays.asList()使用时的注意事项,这个结论同可适用于Stream.of()

Arrays.asList的参数不能是基本数据类型的数组

Array.asList()的作用是把数组变成一个列表,但是它不能使用 八种基本类型的数组参数,也就是说如 int[], byte[], char[],short[], boolean[],long[],float[],double[] 这几种类型的数组是不可以作为参数的,虽然不会报错,但得到的不是我们想要的数据
如果一定要用这几种类型的数组, 那就声明数组是要使用其相对应的包装类 Integer[] Byte[] 等

Arrays.asList返回的集合不能操作, 只能读取(也就是说返回的集合是不可以使用 add() 和 remove() 等改变集合的方法的)

因为 Arrays.asList() 把回的数把类型是一个list , 但是这个list 不是 java.util.arraylist的类, 而是Arrays类的一个内部类, 这个内部类中没有这些方法, 所以不可以使用

其它只要参数类型使用了泛型的 都不可以使用基本类型

Arrays.stream和Stream.of

在 java8 中,您可以使用 Arrays.Stream 或 Stream.of 将 Array 转换为 Stream。

  1. 对象数组 对于对象数组,Arrays.stream 和 Stream.of 都返回相同的输出。
private static void ObjectArrays() {String[] array = {“a”, “b”, “c”, “d”, “e”};**//Arrays.stream**Stream stream = Arrays.stream(array);stream.forEach(x-> System.out.println(x));**//Stream.of**Stream stream1 = Stream.of(array);stream1.forEach(x-> System.out.println(x));
}
  1. 基本数组 对于基本数组,Arrays.stream 和 Stream.of 将返回不同的输出。
private static void PrimitiveArrays() {int[] intArray = {1, 2, 3, 4, 5};// **1. Arrays.stream** -> IntStreamIntStream stream = Arrays.stream(intArray);stream.forEach(x->System.out.println(x));System.out.println("======");// **2. Stream.of** -> Stream<int[]>Stream<int[]> temp = Stream.of(intArray);// 不能直接输出,需要先转换为 IntStreamIntStream intStream = temp.flatMapToInt(x -> Arrays.stream(x));intStream.forEach(x-> System.out.println(x));
}

对于对象数组,两者都调用相同的 Arrays.stream 方法 对于基本数组,我更喜欢 Arrays.stream,因为它返回固定的大小
IntStream,更容易操作。 所以,推荐使用
Arrays.stream,不需要考虑是对象数组还是基本数组,直接返回对应的流对象,操作方便。

Arrays.asList()使用时的注意事项,这个结论同可适用于Stream.of()___Arrays.stream和Stream.of相关推荐

  1. Turtlebot3-burger使用时一些注意事项

    Turtlebot3-burger使用时一些注意事项 时间同步:Turtlebot3和PC的时间要同步. 把RPLidarA1换成A3之后,A3没有发布scan消息,如何解决?参照A1的编写启动文件? ...

  2. posix_memalign函数详解以及使用时的注意事项

    前言 在编写可移植的代码的时候,所有的类型都该自然对齐,因为不对齐会导致性能下降,在大多数情况下,编译器和C库透明地帮你处理对齐问题.POSIX 标明了通过malloc( ), calloc( ), ...

  3. 双cpu适合安装什么服务器系统吗,服务器双CPU使用时的注意事项

    服务器双CPU使用时的注意事项 双CPU一起使用时,要注意以下几点: 1. 双CPU一起使用时,首先两CPU的系统总线频率必须一致. 2. 其次,要求两CPU的主频和Cache的大小必须一样. 3. ...

  4. S7-200 SMART PLC模拟量滤波使用时的注意事项

    S7-200 SMART PLC模拟量滤波使用时的注意事项 模拟量滤波有什么效果? 一般情况下选用S7-200的模拟量滤波功能就不必再另行编制用户的滤波程序. 如果对某个通道选用了模拟量滤波,CPU将 ...

  5. 计算机移动存储设备是,移动存储设备使用时的注意事项有哪些?

    原标题:移动存储设备使用时的注意事项有哪些? 数据体积越来越大的今天,普通的闪存盘已经不能容纳下宠大的数据身驱.移动硬盘凭借大容量.高速度和易携带等诸多优势.已成为人们数据资料互换的重要设备.目前多数 ...

  6. 解决Bootstrap 附加导航(Affix)的问题和使用时若干注意事项

    解决Bootstrap 附加导航(Affix)的问题和使用时若干注意事项 参考文章: (1)解决Bootstrap 附加导航(Affix)的问题和使用时若干注意事项 (2)https://www.cn ...

  7. 前端 重构时需要注意的事项_驾驶式扫地车的功能特点和使用时需要注意事项...

    扫地车 随着经济的发展,人们的生活水平不断提高,对生活环境的要求也越来越高,于是许多工厂.物业.超市.社区.市政单位等开始购买扫地车来进行路面清洁.一是清洗效果好,二是效率高,可以节省人工成本.扫地车 ...

  8. 场效应管的判别、检测及使用时的注意事项!

    一.用指针式万用表对场效应管进行判别 1)用测电阻法判别结型场效应管的电极 根据场效应管的PN结正.反向电阻值不一样的现象,可以判别出结型场效应管的三个电极.具体方法:将万用表拨在R×1k档上,任选两 ...

  9. C51最全111条汇编指令合集,以及使用时的注意事项,超详细

    direct 以地址来命名的变量 所有的变量都需要放到一个存储单元中,这个存储单元都一定有一个地址 特别注意!!!!!寄存器的名字单独写出就代表了把该寄存器中的数据,即它就代表其里面的内容,而不是他的 ...

最新文章

  1. 修改页面的title及js中文转码
  2. 50多种适合机器学习和预测应用的API,你的选择是?(2018年版本)
  3. 自定义Redis序列化工具
  4. Java Web 技术栈
  5. 一把王者的时间,我就学会了Nginx
  6. 父类与子类间的隐藏与重写
  7. 漫步微积分三十一——定积分的直观含义
  8. [转]RSA算法简介
  9. android系统优化(19)--系统性能优化第6季
  10. python降维可视化 自编码_deep learning 自编码算法详细理解与代码实现(超详细)...
  11. 对数log、lg、ln
  12. Java毕设项目超市进销存管理系统计算机(附源码+系统+数据库+LW)
  13. 小马智行获准在北京开启无人化出行服务商业化试点;华为成为Sisvel Wi-Fi 6专利池创始成员 | 美通企业日报...
  14. draggable 总结
  15. 小学5年级奥数分数应用题及答案
  16. 机械战警原型开发 - 仓田机器人
  17. 《机器学习》------模型评价指标
  18. 第十二届蓝桥杯第二期模拟赛(java) python解法
  19. 解决win10莫名其妙重启问题
  20. 360buy二次融资

热门文章

  1. [转载] java常量池-字符串常量池、class常量池和运行时常量池
  2. 不稳定学习器适合做基分类器_分类稳定性
  3. scala集合中添加元素_如何在Scala中获得列表的第一个元素?
  4. Java RandomAccessFile getFilePointer()方法与示例
  5. hanlp 训练模型_LTP 4.0!单模型完成6项自然语言处理任务
  6. 怎么挖linux内核的漏洞,linux内核漏洞分析实战看看专家是怎么一步步...-卓优商学院问答...
  7. jvm内存模型_JVM内存模型的相关概念
  8. 企业办公自动化系统_OA系统的核心功能有哪些?分析当下OA系统的缺陷以及相关解决方案...
  9. layui常用的表单标签_Layui常用组件:表格(table)
  10. 移动最小二乘_最小移动以形成弦