我有 A 类和 B 类,其中 B 类只需要 A 的 10 个属性中的 5 个。
所以我有类似的东西,
A[] objArray = populateResponse();
为了将它转换到 B 中,我做了类似的事情
for (A : objArray ){
//这里的 getter 并手动将其推送到 B obj 数组
}
由于 A 有很多字段并且数组的大小可能会变大,还有其他更好的建议吗?
提前致谢!
最佳答案
如果 B 扩展或实现了 A,就抛弃它。
否则 - 你不能那样做。您将获得ClassCastException
.
如果这两个类不相关,而您仍想这样做,则应该使它们相关。创建一个接口(interface),他们将实现并传递对该接口(interface)的引用。不过,这仍然不允许您将 A 转换到 B。
如果您担心 A 的实例过多,可以将它们转换为 B。编写一个函数,获取 A 的实例并从中创建 B 的实例,然后丢失一个实例。
关于java - 将 Object[] 转换为另一种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41653624/