您是否有理由MultiMap不完全通用?
containsEntry(Object key, Object value)
containsKey(Object key)
remove(Object key, Object value)
removeAll(Object key)
答案 0 :(得分:4)
查看this answer,对于Guava的Multimap也是如此。另外,您可能需要阅读Kevin Bourrillion's blog entry(他是Guava主要开发人员)解释同一问题(请注意add
使用泛型E
):
真正的区别在于add()会导致“损坏” 使用错误的类型调用时的集合,并包含()和 remove()不能。
统一地,Java Collections Framework(和Google 集合库也绝不限制其参数的类型 除非有必要防止收集 碎。
答案 1 :(得分:1)
我的猜测是因为他们想要一个与原始java.util.Map界面类似的界面