4

这是我正在查看的代码(使用 Google 的 ImmutableMap)

ImmutableMap.<String,String>of();

这是什么意思?做的意义何在

Class.<GenericType>methodName()?
4

2 回答 2

5

ImmutableMap是具有两个类型参数的泛型类,K并且V. 这个语法给出了两个参数的具体值,String在这种情况下都是。

所以上面返回一个Stringto的空映射String

请参阅JLS 15.2,其中除其他外说方法调用是

方法调用:
     类型名称。NonWildTypeArguments 标识符 (ArgumentListopt)

这里的类型参数是StringString

于 2012-10-03T22:43:12.620 回答
3

当类型推断不起作用时,它用于指定泛型类型,例如:

Map<String, String> m = ImmutableMap.of();
Map<String, String> m2 = ImmutableMap.<String, String>builder().build();

它参数化方法返回值的泛型类型。

于 2012-10-03T22:45:31.627 回答