Java中如何将List<Long>转换为double[]?Java 8优化实现方案
Java 8 中 List 转 double[] 的简洁实现方式
嘿,既然你已经在使用Java 8了,那完全可以用Stream API来替代你现在的循环写法,代码会简洁很多,可读性也不错!
直接上实现代码,几行就能搞定:
List<Long> longList = ...; // 你的Long列表 double[] doubleArray = longList.stream() .mapToDouble(Long::doubleValue) .toArray();
简单解释下每一步:
longList.stream():把你的List<Long>转换成Stream<Long>,开启函数式处理流程mapToDouble(Long::doubleValue):将流中的每个Long元素转换为double类型(这里用了方法引用,等价于l -> l.doubleValue()或者l -> (double) l,几种写法都可以,选你看着舒服的就行).toArray():把处理后的DoubleStream转换成最终的double[]数组
对比你原来的循环写法,这种方式不需要手动创建数组、管理索引和循环次数,代码更紧凑,也符合Java 8倡导的函数式编程风格。如果你偏爱更短的写法,甚至可以把它压缩成一行:
double[] doubleArray = longList.stream().mapToDouble(Long::doubleValue).toArray();
内容的提问来源于stack exchange,提问作者abhimanyue
相关产品推荐
相关产品推荐

