我有以下情況: 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