【发布时间】:2016-01-05 06:13:45
【问题描述】:
我正在尝试执行以下操作:
private static final ImmutableMap<String, List<?>> lists = ImmutableMap.of(
"A", new ArrayList<String>(),
"B", new ArrayList<Integer>());
本质上,我试图捕捉的主要区别是不同的值具有不同的类型参数。然而,这给出了错误:
Type mismatch: cannot convert from
ImmutableMap<String,ArrayList<? extends Object&Serializable&Comparable<?>>>
to ImmutableMap<String,List<?>>
有没有更好的方法来解决这个问题?
【问题讨论】:
-
这对我有用。是不是只有一行不适合你?
-
这对你有用吗?是的,这是唯一行不通的线路。
-
是的。我将确切的代码行复制/粘贴到我的 IDE 中。您使用的是哪个 Java 版本?我目前正在使用
1.8.0_66 -
我认为这是另一个问题中的问题:stackoverflow.com/questions/19143959/… 更改为构建器模式而不是使用 of 方法解决了该问题。也许这已经在比我使用的更高版本的库中得到修复。
-
可能是。我正在使用
guava-r09