我有一个名为SerializableL
的接口,由3个不同的类实现:
我开始重构,并希望用多个方法调用替换多个段落。
public void load(ConcurrentHashMap<String, SerializableL> map,
ArrayList<SerializableForL> preparedList)
我编写了以下代码并收到以下错误。
代码:
ConcurrentHashMap<String, SerializableForL> test = DBStore.Cache.get(tag);
错误:
Type mismatch: cannot convert from ConcurrentHashMap<String,Banner> to
ConcurrentHashMap<String,SerializableForL>
我该如何解决?
我想要一种方式来投射(ConcurrentHashMap<String,Banner>
ConcurrentHashMap<String,SerializableForL>
)。
横幅是SerializableForL。
答案 0 :(得分:4)
您无法将Map<String,Banner>
分配给Map<String,SerializableForL>
even if Banner
implements SerializableForL
。
但是,如果您只关心SerializableForL
的值,您应该能够写下:
ConcurrentMap<String, ? extends SerializableForL> test = DBStore.Cache.get(tag);