我有以下情况: A类和B类具有完全相同的源代码。 我有从A的阵列,并具有将其从乙转换为阵列,以便把它作为在方法中的参数其中参数是从型B.如何在Java中将对象从一种类型复制到另一种类型?
A[] foo = new A[] ;
//here getBar in certain situations accepts B[], but foo is always A[]
bar = BarFactory.getBar(foo);
我知道它是一种奇怪的场景,但我我正在为现有的基础架构写一些适配器,这种架构真的很奇怪,我看不出任何方法来避开这种转换。我无法更改B的来源,也不能对B进行任何硬引用。我也无法对A进行其他方法,因为它必须是B的精确副本。
要进行该转换的最佳方式是什么?是否有某种模式来创建转换器类或类似的东西?
我知道这个问题听起来很愚蠢,但请不要“杀了我”。我只是想以最好的方式做到这一点。
给读此:https://en.wikipedia.org/wiki/Adapter_pattern –
感谢您的链接尤里。使用OAP正是我想要做的,但由于我试图调整应用程序的体系结构,因此不可能直接使用它。 – Altair