这个 Java 语法(看起来像是参数化的方法)是什么意思



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

ImmutableMap.<String,String>of();

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

Class.<GenericType>methodName()?

ImmutableMap 是一个泛型类,具有两个类型参数,KV 。此语法给出了两个参数的具体值,在本例中String这两个参数。

所以上面返回了一个空的StringString的地图。

参见 JLS 15.2,其中说方法调用是

方法调用:     类型名称 .NonWildTypeArguments Identifier ( ArgumentListopt )

此处的类型参数StringString

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

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

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

相关内容

最新更新