我需要初始化一个ImmutableMap(番石榴21.0),我需要它来解析一个Map>对于这个例子,我将只使用String.
所以我有:
import com.google.common.collect.ImmutableMap;
public class MyClass {
private Map<String,String> testMap =
ImmutableMap<String,String>.builder().put("a","b").build();
Run Code Online (Sandbox Code Playgroud)
在最后一行,我得到了大量的编译器错误.使用ImmutableMap<String,String>.of()得到相同的结果.
如果我删除我只是得到一个错误,类型不匹配.
当我想要一个具有显式类型的地图时,如何使用ImmutableMap进行显式(类文字)初始化?
在点后放置泛型类型:
private Map<String, String> testMap =
ImmutableMap.<String, String>builder().put("a","b").build();
Run Code Online (Sandbox Code Playgroud)
请参阅Angelika Langer的Generics常见问题解答部分"什么是显式类型参数规范?" 更多细节.