我正在使用两个不同的库,每个库都有自己的类型。这两种类型都有x和y坐标,而每种都有一些特殊的字段。我想将两种类型(例如PointA
和PointB
)都存储在列表中。我不能使用基类,因为PointA
和PointB
是库类型,不能修改。在列表中存储不同的(不可修改的)类型
有这样的事情,我不得不实际使用List内的列表(点数组数组)。我从库调用的方法1返回List<PointA>
,库2的方法返回List<PointB>
。
在一个List中存储这些点阵的最佳方式是什么?使用List<List<Object>>
并将返回数组中的每个对象转换为Object?看起来像这样可以做得更优雅。
'PointA'和'PointB'是否共享一个共同的'interface'或者base-type(除了'object')? –
您是否考虑过使用适配器模式?每个适配器可以存储其中一种类型的点,并且您将存储点适配器的列表。 – Jonny
你究竟在做什么?即使它们具有共同的成员值,它们也不能以任何方式互换使用(除非这些库以某种方式构建,例如使用反射或通用接口)。 – Mario