java 两个类数据结构一样,如何强制转换?

2025-02-26 16:31:43
推荐回答(4个)
回答1:

1,无法实现强制转换,会报ClassCastException,强制转换只能在有继承关系的类之间进行
2,可以实现B(A b)的构造函数,实现类似于转换的过程
3,设计中如果出现这样的情况,属于设计不完善,应该改善。
就好象机器需要的同一型号的螺丝,你用了两个铸模一样,尽管这俩螺丝用于不同的地方。

回答2:

你涉及到数据库吗,我之前遇到这问题是两个class字段一样但对应不同的表,
最简单的写一个转换函数,把你要的字段直接复制过去

回答3:

private void copyBToA(A a, B b) {
try {
for (Field f : b.getClass().getDeclaredFields()) {
PropertyDescriptor pd = new PropertyDescriptor(f.getName(), ProVehicle.class);
Method getMethod = pd.getReadMethod();
Object value = getMethod.invoke(src);
if (value != null) {
BeanUtils.setProperty(a, f.getName(), value);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

回答4:

如果都一样的话,干嘛还要转换