在Java中,如果你的集合属性是String类型,并且你想要使用Lambda表达式对这些字符串进行BigDecimal计算,首先你需要将字符串转换为BigDecimal对象。
使用map(BigDecimal::new)将每个字符串转换为BigDecimal对象。最后,我们使用reduce(BigDecimal.ZERO, BigDecimal::add)来计算所有BigDecimal对象的和。reduce方法的第一个参数是累加器的初始值(在这个例子中是BigDecimal.ZERO),第二个参数是一个Lambda表达式,它定义了如何将当前元素与累加器的值合并。
话不多说 上代码:
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors; public class BigDecimalLambdaExample { public static void main(String[] args) { // 假设你有一个字符串集合,其中包含可以转换为BigDecimal的数值 List<String> numbersAsStrings = new ArrayList<>(); numbersAsStrings.add("10.5"); numbersAsStrings.add("20.75"); numbersAsStrings.add("30.25"); // 使用Lambda表达式和Stream API来计算所有数值的和 BigDecimal sum = numbersAsStrings.stream() .map(BigDecimal::new) // 将字符串转换为BigDecimal .reduce(BigDecimal.ZERO, BigDecimal::add); // 使用reduce方法求和 System.out.println("Sum: " + sum); }
}