Java 8 StreamBox

Posted 河图

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 8 StreamBox相关的知识,希望对你有一定的参考价值。

Java 8 StreamBox Java 8的装箱流

1. 什么是 盒装流(Boxed Stream)

在java8 中,如果我们想把一个对象流转变成一个集合,我们可以使用Collectors 类中的一个静态方法

List<String> strings = Stream.of("how", "to", "do", "in", "java")
                    .collect(Collectors.toList());

但是对于基本类型的数据缺失不合适的

// 编译错误
IntStream.of(1,2,3,4,5)
//                .collect(Collectors.toList());

如果想不出现编译不出错,我们必须打包这个元素,然后再集合中收集被包装的对象,这种类型的流称为 盒装流

2. 将 int 流转换成 Integer 集合
List<Integer> ints = IntStream.of(1,2,3,4,5)
                .boxed()
                .collect(Collectors.toList());
         
System.out.println(ints);
 
//直接对流进行操作,获取最大值
Optional<Integer> max = IntStream.of(1,2,3,4,5)
                .boxed()
                .max(Integer::compareTo);
 
System.out.println(max)

3. LongStream

将 long 类型的流转换成成 Long 类型

List<Long> longs = LongStream.of(1l,2l,3l,4l,5l)
                .boxed()
                .collect(Collectors.toList());

4. doubleStream
List<Double> doubles = DoubleStream.of(1d,2d,3d,4d,5d)
                .boxed()
                .collect(Collectors.toList());

以上是关于Java 8 StreamBox的主要内容,如果未能解决你的问题,请参考以下文章

错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段

VSCode自定义代码片段8——声明函数

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法(代码片段

Java 8 新特性总结

Xcode 8 Autocomplete Broken - 仅显示有限的用户代码片段 - 知道为啥吗?