我有一张地图:
Map<String, List<ClassA>> X
class A
可序列化的地方。
和另一张地图
Map<String, List<ClassB>> Y
class B
不可序列化。
Class A
和Class B
的内容相同。
现在我想将map X
复制到map Y
,但我不能通过分配直接进行,因为类不同。
所以我想通过在Class B
中添加Class A
来将extends Class B
扩展到Class A
。
但是我也无法将Map X
复制到Map Y
,因为父母不能被分配给孩子,所以我想到了投射但是因为它映射我无法想到投射。
有关如何使两个类兼容的任何建议?
P.S。:在这里我不想延长,因为扩展不是一个合适的方法。
答案 0 :(得分:1)
您可以使用putAll()
,Javadoc中的方法java.util.Map
。
void putAll(Map<? extends K, ? extends V> m);
将指定地图中的所有映射复制到此地图(可选操作)。
在您的方案中:
Y.putAll(X);