如果对象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/

10-13 01:19