本质:
有一个带有 int 字段(从 1 到无穷大)的类。该类有一个方法可以将这些值与该类的另一个实例相加。问题:是否可以更优雅地做到这一点?
代码:
public class SomeClass {
int a = 0;
int b = 0;
int c = 0;
...
public void mergeValues(final SomeClass other) {
this.a += other.a;
this.b += other.b;
this.c += other.c;
.....
return this;
}
}
最佳答案
您可以将这些整数存储在映射中。所以你从 char/string 映射到 int。因此,对于另一个类的映射中的每个键,您将该值添加到该类的映射中的相应值中。像下面这样的东西。好久没用java了,不过思路应该是一样的。
for (Map.Entry<Integer, String> set : other.getMap().entrySet()){
this.map.put(set.getKey(), set.getValue()+ this.map.get(set.getKey()))
}
否则,您可以使用反射来迭代所有字段。请参阅here .
关于java - 通过合并求整数之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63877584/