这是我正在查看的代码(使用 Google 的 ImmutableMap)
ImmutableMap.<String,String>of();
这是什么意思?做的意义何在
Class.<GenericType>methodName()?
ImmutableMap
是具有两个类型参数的泛型类,K
并且V
. 这个语法给出了两个参数的具体值,String
在这种情况下都是。
所以上面返回一个String
to的空映射String
。
请参阅JLS 15.2,其中除其他外说方法调用是
方法调用: 类型名称。NonWildTypeArguments 标识符 (ArgumentListopt)
这里的类型参数是String
和String
当类型推断不起作用时,它用于指定泛型类型,例如:
Map<String, String> m = ImmutableMap.of();
Map<String, String> m2 = ImmutableMap.<String, String>builder().build();
它参数化方法返回值的泛型类型。