用stream流 StringList 转化为bigdecima进行相加
时间: 2024-03-27 16:40:53 浏览: 68
Java8Test.java_java8_almosttog_stream流_
使用 Java 8 中的 Stream API 可以更简洁地实现将 String 类型的列表转化为 BigDecimal 进行相加的操作。可以按照以下步骤进行:
1. 将 String 类型的列表转化为 Stream。
2. 使用 map() 方法将每个字符串转化为 BigDecimal 类型。
3. 使用 reduce() 方法将所有 BigDecimal 类型的数求和。
4. 最后得到的结果就是列表中所有数的总和。
以下是一个 Java 示例代码:
```java
import java.math.BigDecimal;
import java.util.List;
public class Example {
public static void main(String[] args) {
List<String> stringList = List.of("1.23", "4.56", "7.89");
BigDecimal sum = stringList.stream()
.map(BigDecimal::new)
.reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println(sum); // 输出:13.68
}
}
```
在这个示例中,我们使用了 String 类型的列表的 stream() 方法将其转化为 Stream,然后使用 map() 方法将每个字符串转化为 BigDecimal 类型。接着使用 reduce() 方法将所有 BigDecimal 类型的数求和,并将初始值设置为 BigDecimal.ZERO,即可得到列表中所有数的总和。
阅读全文