有没有办法以类型安全的方式进行以下实现?
public void myMethod( Map<String, ? extends List<String>> map )
{
map.put("foo", Collections.singletonList("bar");
}
上述实现不起作用。它需要正确Map<String, ? super List<String>>
编译该方法map.put()
。但是 myMethod 不会以这种方式接受 List 的任何子类型。所以,我必须Map<String, ? extends List<String>>
改用。如何以类型安全的方式解决此问题?