通过反射,给两个相同的实体类赋值

model,model2为两相同的实体类,通过反射将model的值赋给model2。

public static Object TheAssignment(Object model,Object model2) throws Exception {
      Class clazz=model.getClass();
      Class clazz2=model2.getClass();
      Field[] fields=clazz.getDeclaredFields();
      Field[] fields2=clazz2.getDeclaredFields();
      for (Field field : fields) {
          for (Field field2 : fields2) {
              if(field.getGenericType().toString().equals(field2.getGenericType().toString())){
                    Method method=clazz.getMethod("get"+getMethodName(field.getName()));
                    field.setAccessible(true);
                    String value=(String) method.invoke(model);
                    if(StringUtils.isNotEmpty(value)){
                        String newValue= value.trim()+"";
                        field2.set(model,newValue);
                    }
                }
          }
        
    
      }
       return model2;
    }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,我们可以使用多种方式将一个实体类的值赋给另一个不同的实体类。 一种常见的方式是使用构造函数。我们可以在目标实体类中定义一个带有源实体类类型的构造函数,并通过参数传递源实体类的对象。然后,在构造函数内部,将源实体类对象的属性值赋给目标实体类的相应属性。这样,我们就可以通过创建目标实体类的对象,将源实体类的属性值赋给目标实体类的对象。 另一种常见的方式是使用setter方法。我们可以在目标实体类中定义与源实体类属性相同的setter方法。然后,通过获取源实体类的对象和目标实体类的对象,使用源实体类的getter方法获取属性值,并通过目标实体类的setter方法将值赋给目标实体类的属性。 以下是一个示例代码,演示了如何将一个Student类的属性值赋给一个Person类的对象: ``` public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } } public class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } } public class Main { public static void main(String[] args) { Student student = new Student("John", 20); Person person = new Person(); person.setName(student.getName()); person.setAge(student.getAge()); System.out.println("Person name: " + person.getName()); System.out.println("Person age: " + person.getAge()); } } ``` 在上述示例中,我们创建了一个Student类和一个Person类。然后,我们实例化一个Student对象,并将其name和age属性值赋给一个Person对象。最后,我们输出Person对象的name和age属性值,验证赋值是否成功。 以上就是将两个不同的实体类进行赋值的一种常见方式。当然,具体的实现方式可能因实际需求而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值