我有A类和B类,其中B类只需要来自A的10个属性中的5个。
所以我有类似的东西,
A[] objArray = populateResponse();
要把它投入B,我会做类似
的事情 for (A : objArray ){
// getters here and push it to B obj array manually
}
任何其他建议以更好的方式做到这一点,因为A有很多字段和数组的大小可以变大吗?
提前致谢!
答案 0 :(得分:1)
如果B扩展或实现A,则抛弃。
否则 - 你不能这样做。您将获得ClassCastException
。
如果两个类没有关联,你仍然想这样做,你应该让它们相关。创建一个他们将实现的接口并传递对该接口的引用。但是,这仍然不允许你将A转换为B.
如果您担心A的实例太多,您可以将转换为B.编写一个函数,该函数接受A的实例并从中创建B的实例,并且失去了A实例。