Java-Stream | 流的基本数据类型优化

Java-Stream | 流的基本数据类型优化

一月 02, 2022
该文章更新于 2022.01.02

我们之前用到的很多Stream的方法由于都使用了泛型。所以涉及到的参数和返回值都是引用数据类型。

即使我们操作的是整数小数,但是实际用的都是他们的包装类。JDK5中引入的自动装箱和自动拆箱让我们在使用对应的包装类时就好像使用基本数据类型一样方便。但是装箱拆箱过程是消耗时间的,虽然这个时间消耗很小,但是在大量的数据不断的重复装箱拆箱的时候,我们就不能无视这个问题了。

所以为了让我们能够对这部分的时间消耗进行优化。Stream还提供了很多专门针对基本数据类型的方法。

例如:mapToInt,mapToLong,mapToDouble,flatMapToInt,flatMapToDouble等。

优化前:操作的一直是Integer,需要反复执行装箱拆箱工作
img

优化后:使用mapToInt转换后,操作的都是int,省略了装箱拆箱
img