我有两个具有不同字段的不同类,以及一个包含两个类的所有字段的类。有没有办法将对象转换为两个单独的对象?
class A{
private int a;
private int b;
}
class B{
private int a;
private int b;
}
如果对象D
具有A类和B类的所有属性,有什么方法可以分别转换它们吗?
最佳答案
从子级到父级(向下转型)或反之亦然(向上转型)进行转换:
class A extends B
B b = (B)(new A());
或者对于接口(interface):
List<String> myList = new ArrayList<>();
ArrayList<String> myArrayList = (ArrayList)myList;
转换时要小心 - 如果无法转换,您将收到 Exception
!
就您而言,映射就是您所寻找的。您只需要一个映射器。
例如:
public class AToBMapper {
public static A fromB(B b) {
A a = new A();
a.setA(b.getA());
a.setB(b.getB());
return a;
}
public static B fromA(A a) {
//fill in
}
}
关于java - 如何转换不互相继承的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45409944/