gpt4 book ai didi

java - 如何转换不互相继承的对象?

转载 作者:行者123 更新时间:2023-12-03 02:25:13 28 4
gpt4 key购买 nike

我有两个具有不同字段的不同类,以及一个包含两个类的所有字段的类。有没有办法将对象转换为两个单独的对象?

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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com