gpt4 book ai didi

java - 当 B 实现 A 时,将 ConcurrentHashMap 转换为 ConcurrentHashMap

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:56 26 4
gpt4 key购买 nike

我有一个名为 SerializableL 的接口(interface)由 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。

最佳答案

您不能分配 Map<String,Banner>Map<String,SerializableForL> even if Banner implements SerializableForL .

但是,如果您只关心值是 SerializableForL你应该能够写:

ConcurrentMap<String, ? extends SerializableForL> test = DBStore.Cache.get(tag);

关于java - 当 B 实现 A 时,将 ConcurrentHashMap<String, B> 转换为 ConcurrentHashMap<String, A>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21760093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com