如何最好地计算物体属性的总和?

时间:2012-11-21 22:02:17

标签: java

如果对象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) - &gt;这样的图像sum(cars, "fuel")

1 个答案:

答案 0 :(得分:8)

如果您可以使用lambdaj,您可以编写如下内容:

import static ch.lambdaj.Lambda.*;

List<Car> cars = ...;
int result = sumFrom(cars).getFuel();

有关如何使用lambdaj的更多示例,请参阅lambdaj wiki上的Features页面。