如果对象car
具有属性fuel
,并且我具有这些对象的列表cars
:如何最好地计算列表中所有对象的此属性getCarsFuel()
的总和?
class CarStock {
List<Car> cars;
public int getCarsFuel() {
int result = 0;
for (Car car : cars) {
result += car.getFuel();
}
return result;
}
}
class Car {
int fuel;
}
是否有更好的方法,还是做不到的“样板”。
我可以成像类似
sum(List<T> list, String property)
-> sum(cars, "fuel")
的图像?
最佳答案
如果可以使用lambdaj,则可以编写如下内容:
import static ch.lambdaj.Lambda.*;
List<Car> cars = ...;
int result = sumFrom(cars).getFuel();
有关如何使用lambdaj的更多示例,请参见lambdaj Wiki上的Features页面。
关于java - 如何最好地计算对象属性的总和?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13502759/