如何将一个类的对象转换为另一个类的对象?例如,让我们说对象A具有属性" height"和#34;体重。"如何检查对象B是否具有这些相同的属性?如果对象B确实具有与对象A类似的属性,如何将这些值导入到对象A和/或创建具有这些属性和值的新对象?
感谢您的帮助!
答案 0 :(得分:1)
你可以使用Commons-BeanUtils BeanUtilsBean,方法copyProperties
代码:
BeanUtilsBean bub = BeanUtilsBean.getinstance();
bub.copyProperties(yourObject1Dest,yourObjectOrig);
答案 1 :(得分:1)
所有情况都没有单一的答案。一些更常见的情况是:
两个具有相同目的但来自不同库的类。每个库只能使用自己的类型。您需要为每个B编写构建A实例的粘合代码并自行处理转换(使用明确编写的代码)。
两个具有相同目的的类,但您可以控制一个类。消除该类,只使用另一个。
两个类但不具有相同的目的,只是一个共同的方面。如果你可以控制它们。使用继承(如果一个是另一个的特例),委托(这两个类是不相关的,但可以将一个共同的方面考虑在内)或定义一个 interface 具有共同的方面,并且两个类都实现它。
答案 2 :(得分:0)
如果我收到你的问题:
public class A{
int height, weight;
public A(int height, int weight){
this.height = height;
this.weight = weight;
}
public A(A originalObject){
height = originalObject.height;
weight = originalObject.weight;
}
}
public class B extends A{
public B(int height, int weight){
super(height, weight);
}
public B(B originalObject){
super (originalObject);
}
public static void main(String [] args){
B bObject = new B(10,20);
A aObject = new A(bObject);
}
}
答案 3 :(得分:-1)
我建议继续寻找。
检查对象是否具有某些属性的一种方法是在IDE中开始输入您想要的内容,例如:
Object.height
输入"后立即输入。"显示该类的元素。