gpt4 book ai didi

java - 需要像 getTotal(ClassName, ListOfObjectsOfClass, numericFieldOfClass) 这样的东西

转载 作者:行者123 更新时间:2023-11-30 07:29:25 25 4
gpt4 key购买 nike

我有课例如public class Item {
int price;
String name;
// getters and setters
}
我有 1000 个或更多对象(仅举个例子)。每件商品都有不同的价格。并且所有此项目对象都在 List<Item> 中我的要求是获得总价(即列表中第 1 项到第 n 项的价格)。

是否有任何实用程序或方法可以让我获得特定字段的总价(即所有项目的总价)。我只给List, ClassName 和fieldName 我得到的总和?我知道我们可以通过遍历列表来获取总数,调用 get 方法将所有内容相加并存储在某个变量中。?

提前致谢。

最佳答案

我刚刚写了一个简单的方法来计算列表中一些属性的总和:

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 site 下载所需的库。 .

这是使用它的例子:

public class MyObject {
private int x;

public MyObject() { }

public int getX() { return 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) {
...

关于java - 需要像 getTotal(ClassName, ListOfObjectsOfClass, numericFieldOfClass) 这样的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8504984/

25 4 0