Java 将对象[]强制转换为其他类型

Java 将对象[]强制转换为其他类型,java,reflection,javabeans,cloning,Java,Reflection,Javabeans,Cloning,我有A类和B类,B类只需要A的10个属性中的5个 所以我有点像 A[]objArray=populateResponse() 为了把它转换成B,我做了如下的事情 for(A:objArray){ //获取并手动将其推送到B obj数组 } 由于a有许多字段,而且阵列的大小可能会变大,所以还有其他更好的建议吗 提前谢谢 如果B扩展或实现了A,就丢弃它 否则,你不能那样做。你会得到一份工作 如果这两个类不相关,并且您仍然希望这样做,那么您应该使它们相关。创建一个接口,他们将实现并传递对该接口的引用。

我有A类和B类,B类只需要A的10个属性中的5个

所以我有点像

A[]objArray=populateResponse()

为了把它转换成B,我做了如下的事情

for(A:objArray){
//获取并手动将其推送到B obj数组
}

由于a有许多字段,而且阵列的大小可能会变大,所以还有其他更好的建议吗


提前谢谢

如果B扩展或实现了A,就丢弃它

否则,你不能那样做。你会得到一份工作

如果这两个类不相关,并且您仍然希望这样做,那么您应该使它们相关。创建一个接口,他们将实现并传递对该接口的引用。不过,这仍然不允许您将A转换为B


如果您担心A的实例太多,可以将它们转换为B。编写一个函数,获取A的实例并从中创建B的实例,然后丢失A实例。

A的属性数与此无关。从具有10个字段的对象复制5个字段与从具有50个字段的对象复制5个字段所需的时间相同。数组的长度也无关紧要:如果你需要复制,不管你用什么方式,都必须复制。我认为你在寻找一个不存在的问题的解决方案。而且,这与演员阵容无关。@JB谢谢你的意见。我很想知道是否能做点什么,这是个好消息。尝试使用接口,结果出现异常。你能详细阐述一下你对在B中扩展A的看法吗?你将无法用接口来解释A到B的情况,我只是建议你在对你更有意义的情况下使用接口。