我在不同的包中有很少的Pojos,每个POJO包含来自同一个包的另一个pojo的集合.我需要将Package B Pojos中具有相同名称的所有项目复制到Package A中的对象.
Eaxmple:
package com.vanilla.packageA;
public class Student{
private String firstName;
private String lastName;
private Set<Course> course;
//getters and setters ommited
}
Run Code Online (Sandbox Code Playgroud)
package com.vanilla.packageA;
public class Course{
private String courseName;
private String courseDescription;
//seters and getters
}
Run Code Online (Sandbox Code Playgroud)
package com.vanilla.packageB;
public class Student{
private String firstName;
private String lastName;
private Address address;
private Set<Course> course;
Private Date birtday;
//getters and setters ommited
}
Run Code Online (Sandbox Code Playgroud)
package com.vanilla.packageB;
public class Course{
private String courseName;
private String courseDescription;
private <Lecturer> lecturer;
private Integer …Run Code Online (Sandbox Code Playgroud) 我有这个问题.但是我很难解释,因为我不知道使用的确切术语.希望有人能理解.我会试着尽力而为.我觉得这与此有很大关系parsing
说有两个班.在这两个类中我都有一些变量,比如字符串(只是为了简单起见,变量类型可以是任何变量),它们具有相似的名称.
Eg:
class ClassA{
String x,y,z;
}
class ClassB{
String x,y,z;
}
Run Code Online (Sandbox Code Playgroud)
现在,我需要的是,我需要将一个类的变量值的值复制到其他类对应的变量.
Eg:
ClassA aa=new ClassA();
ClassB bb=new ClassB();
//set bb's variables
aa.x=bb.x;
aa.y=bb.y;
aa.z=bb.z;
Run Code Online (Sandbox Code Playgroud)
像那样.
但请注意,我需要的不是上述方法.我希望有一种方法可以编写一个简单的方法,以便它通过传递给它的名称来识别相关变量.然后它会相应地进行值赋值.
我想象的方法是这样的,
void assign(String val){
// aa.<val>=val
}
Run Code Online (Sandbox Code Playgroud)
例如,如果您传递bb.x给assign(...)方法,那么它将进行aa.x=bb.x分配.
希望这很清楚.必须有更好的方法来解释这一点.如果有人知道,请编辑帖子(+标题)以使其更清晰(但保存我的想法)..
如果有办法实现这一点,请告诉我.
谢谢!
假设我们有一个如下定义的对象A:
public class ObjectA {
private Attribute a1;
private Attribute a2;
private Attribute a3;
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我需要创建仅包含对象A的前两个属性的第二个对象B:
public class ObjectB {
private Attribute a1;
private Attribute a2;
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:将对象A复制到对象B的最佳方法是什么?我一直在一个接一个地复制getter和setter的属性,但是有些事情告诉我,必须有更好的方法来做到这一点!尤其是当对象具有很多属性时,我必须编写一行代码,仅将它们全部复制到第二个对象B中。
非常感谢 :)
编辑:我一直被“另一个问题的可能重复”警告:我如何在Java中复制对象?
我的问题在某种程度上略有不同,即我正在处理2个具有相同属性但不完全相同的对象!