java – 有没有办法将整个Big Decimal列表强制转换为Long值列表

如果我有一个BigDecimal对象的列表,是否可以将整个列表强制转换为List of Long值而不必迭代每个BigDecimal对象?
最佳答案
您将需要以某种方式迭代.如果要“隐藏”迭代,可以使用流:

List<Long> longs = bigs.stream().map(BigDecimal::longValue).collect(Collectors.toList());

但是后台仍然会有一个迭代.

你提到你不想迭代两次 – 你可以保存long流以供以后使用:

LongStream longs = bigs.stream().mapToLong(BigDecimal::longValue);

并在收集结果之前对该流应用其他操作.

转载注明原文:java – 有没有办法将整个Big Decimal列表强制转换为Long值列表 - 代码日志