我想创建扩展的匿名类Map
。我尝试:
Collection<? extends Map<String, String> a = new HashMap<String, String>(){};
接收错误:
Type mismatch: cannot convert from new HashMap<String,String>(){} to Collection<? extends Map<String,String>>
如何解决这个问题?
我想创建扩展的匿名类Map
。我尝试:
Collection<? extends Map<String, String> a = new HashMap<String, String>(){};
接收错误:
Type mismatch: cannot convert from new HashMap<String,String>(){} to Collection<? extends Map<String,String>>
如何解决这个问题?
Collection<? extends Map<String, String> a ;
它是映射集合(或实现映射的类)的引用。你可以像这样初始化它 -
Collection<? extends Map<String, String>> a = new ArrayList<HashMap<String, String>>(){};
这个集合对象将存储HashMap
.
要创建一个匿名实现,请Map
使用:
Map<String, String> a = new Map<String, String>() { ... }
或(如果你想扩展 HashMap)
Map<String, String> a = new HashMap<String, String>() { ... }
没有必要,Collection...
而且无论如何这都行不通,因为地图不是具有该接口含义的集合(因此它没有实现Collection
)。
HashMap
不执行Collection
。
我认为您要做的只是:
Map<String, String> a = new HashMap<String, String>();