java - 将 Object[] 转换为另一种类型

标签 java reflection javabeans cloning

我有 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/

相关文章:

java - 在此示例中使用反射是否合适

JavaFX bean 与属性——为什么两者都有?

jsf - 一个jsf页面和一个托管bean之间,为什么getter方法被调用了两次

java : I am getting only one element while parsing the values

java - 引用这个但不是扩展类

java - 可以在同一应用程序中将 C++ 用作后端,将 Javafx 用作前端吗?

java - 在通知中制作一首特定的歌曲

c# - 从反射 ParamInfo[] 创建匿名类型

Java 添加到未知类型泛型列表

java - 在 apache Camel 中使用自定义注册表