java - 通过合并求整数之和

标签 java reflection

本质:

有一个带有 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/

相关文章:

Java反射无法改变结构

java - 泛型实现理解?

java - 私有(private)方法真的安全吗?

java - Android 寻呼机适配器,onClick

通过 C 中的 SO 更改内存中的值

java - Apache POI : Why data is not properly inserted?

java - Java中的指针类型

c# - 如何使用反射创建带参数的内部构造函数的实例?

java - 请求的资源不可用,Glassfish

java - 如何找到 HashMap 中的最低值?