Groovy笔记: 对Collection进行sum操作
Groovy: 对Collection进行sum操作
在Groovy里, 如果要对一个Collection或数组里的元素求和,只需要调用一下sum方法既可
class Person { String name; BigInteger salary; Person plus(Person that){ return new Person(salary: this.salary + that.salary) }}def persons = [ new Person(salary:1000, name:"Tom"), new Person(salary:2000, name:"Sam"), new Person(salary:3000, name:"Kim")];println persons.sum().salary // Output: 6000println persons.sum {it.salary} // Output: 6000println persons*.salary.sum() // Output: 6000其实sum方法是调用集合中元素的plus方法,注意plus方法的返回值和参数要是对象的类型本身,不然就不能形成调用链而出现异常。