gpt4 book ai didi

java - 对列表中的所有属性值求和

转载 作者:行者123 更新时间:2023-12-02 12:27:45 25 4
gpt4 key购买 nike

我有一个具有多个整数属性的类,类似这样:

public class Test {
private Integer a;
private Integer b;
private Integer c;
private Integer d;
private Integer e;
private Integer f;
private Integer g;
}

因此,我得到了一个包含很多寄存器的类的列表,并且我必须单独求和该列表的所有属性。然后我做了类似的事情:

List<Test> tests = testRepository.findAllTest();

Test test = new Test();
for (Test testList: tests) {
test.setA(test.getA + testList.getA);
test.setB(test.getB + testList.getB);
test.setC(test.getC + testList.getC);
test.setD(test.getD + testList.getD);
test.setE(test.getE + testList.getE);
test.setF(test.getF + testList.getF);
test.setG(test.getG + testList.getG);
}
return test;

这个实现工作正常,但我现在想知道是否有一种更简单的方法来做到这一点,清理这段代码并使其变得简单

最佳答案

我会将其分解为几个子问题:将一个测试对象添加到另一个测试对象,然后总结列表。

对于第一个问题,您可以向 Test 类添加一个方法,该方法将两个测试对象相加并返回一个包含总和的新 Test 对象。

public class Test {
...

public Test add(Test testToAdd){
Test result = new Test();
result.setA(a + testToAdd.getA());
...
result.setG(g + testToAdd.getG());
return result;
}
}

然后你可以在求和循环中调用它:

List<Test> tests = testRepository.findAllTest();
Test testTotal = new Test();
for (Test test: tests) {
testTotal = testTotal.add(test);
}

另一个好处是可以更立即清楚地了解循环正在执行的操作。

关于java - 对列表中的所有属性值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57980599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com