gpt4 book ai didi

scala - FoldLeft 总和值与 BigDecimal.ZERO 起始值

转载 作者:行者123 更新时间:2023-12-02 21:11:16 25 4
gpt4 key购买 nike

我有一个要求,我想要列表中所有员工工资的总和

employeeList.foldLeft(java.math.BigDecimal.ZERO) { (accSal,emp) => accSal + getSalary(emp,designation,yearsOfExp) }

这里对于每个员工,我想调用一个函数 getSalary 并对返回值求和以获得所有员工的工资

上面的代码似乎对我不起作用,不断出现错误

Type mismatch expected:String actual:BigDecimal

最佳答案

替代 Mario 的答案,如果 getSalary 返回一个 java.math.BigDecimal,并且 fold 也应该返回 1,而不是scala.math.BigDecimal
你可以这样做:

employeeList.foldLeft(java.math.BigDecimal.ZERO) {
(accSal, emp) =>
accSal.add(getSalary(emp,designation,yearsOfExp))
}

您可以查看 javadoc确认它们没有 + 方法,而是 add 方法。
因此,它调用返回字符串+方法。

关于scala - FoldLeft 总和值与 BigDecimal.ZERO 起始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58140290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com