我刚刚写了一个简单的方法来计算列表中一些属性的总和:
public static <E> Integer sum(List<E> obejcts, String propertyName) throws
IllegalAccessException,
InvocationTargetException,
NoSuchMethodException {
Integer sum = 0;
for (Object o: obejcts) {
sum += (Integer)PropertyUtils.getProperty(o, propertyName);
}
return sum;
}
为此,我使用javabeans技术。您可以直接从apache 站点下载所需的库。
这是使用它的示例:
公共类 MyObject {
私有 int x;
公共 MyObject() { }
公共 int getX() { 返回 x; }
public void setX(int x) { this.x = x; }
}
并计算总和:
List<MyObject> l = new ArrayList<MyObject>();
...
try {
int a = sum(l,"x");
System.out.print(a);
} catch (IllegalAccessException e) {
...