相关疑难解决方法(0)

原始流与对象流和发生的实际装箱

所以,我明白,你可以有对象流,即Stream<T>与专家原始流,如IntStream,DoubleStream等,其中后者的好处是避免自动装箱.

另外,如果我们以IntStream一个例子为例,它有专门的操作,例如接受的过滤器IntPredicate.

我想知道我是否有一个IntStreamvs a Stream<Integer>,此时你正在节省拳击,例如

intstream.filter(x -> x >= 50).forEach(x -> System.out.println(x));
Run Code Online (Sandbox Code Playgroud)

VS

stream.filter(x -> x >= 50).forEach(x -> System.out.println(x));
Run Code Online (Sandbox Code Playgroud)

在第一个例子中,我没有看到拳击或拆箱.在第二个例子中,拳击/拆箱发生在哪里?因为如果stream是a Stream<Integer>并且过滤器接受了a Predicate<Integer>肯定那么就不需要box/unbox,对于IntConsumervs也是如此Consumer<T>

java primitive autoboxing java-stream

4
推荐指数
2
解决办法
1778
查看次数

标签 统计

autoboxing ×1

java ×1

java-stream ×1

primitive ×1