使用显式类型初始化ImmutableMap?

Mik*_*dik 2 java guava

我需要初始化一个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进行显式(类文字)初始化?

Xae*_*ess 7

在点放置泛型类型:

private Map<String, String> testMap = 
    ImmutableMap.<String, String>builder().put("a","b").build();
Run Code Online (Sandbox Code Playgroud)

请参阅Angelika Langer的Generics常见问题解答部分"什么是显式类型参数规范?" 更多细节.