相关疑难解决方法(0)

通过反射将所有值从一个类中的字段复制到另一个类

我有一个基本上是另一个类的副本的类.

public class A {
  int a;
  String b;
}

public class CopyA {
  int a;
  String b;
}
Run Code Online (Sandbox Code Playgroud)

我正在做的是在通过webservice调用发送之前将类中的值A放入.现在我想创建一个反射方法,它基本上将所有相同(按名称和类型)的字段从一个类复制到另一个类.CopyACopyAACopyA

我怎样才能做到这一点?

这是我到目前为止所做的,但它并不常用.我认为这里的问题是我试图在我循环的字段上设置一个字段.

private <T extends Object, Y extends Object> void copyFields(T from, Y too) {

    Class<? extends Object> fromClass = from.getClass();
    Field[] fromFields = fromClass.getDeclaredFields();

    Class<? extends Object> tooClass = too.getClass();
    Field[] tooFields = tooClass.getDeclaredFields();

    if (fromFields != null && tooFields != null) {
        for (Field tooF : tooFields) {
            logger.debug("toofield name #0 and …
Run Code Online (Sandbox Code Playgroud)

java reflection

73
推荐指数
8
解决办法
12万
查看次数

标签 统计

java ×1

reflection ×1