泛型语法的名称是什么:“X。<string,string =”“> method()”</string,>

时间:2010-11-20 15:07:16

标签: java generics syntax

有时需要这种(相对奇怪的外观)语法来避免类型不匹配。但实际上这个语法的名称是什么?

来自Google Guava的使用示例(r07):

ImmutableMap定义了一种方法

public static <K, V> Builder<K, V> builder()

可以像这样使用:

ImmutableMap<String, String> map = 
        ImmutableMap.<String, String>builder().put("a", "A").build();

顺便说一下版本的内容:

Builder<String, String> builder = ImmutableMap.builder();       
ImmutableMap<String, String> map = builder.put("a", "A").build();

2 个答案:

答案 0 :(得分:6)

我认为语法没有特定的名称。我已经查看了JLS,它只是提到“对通用方法的调用”。

在你的情况下,可以将其缩小为“调用非静态泛型方法”。

如果您指的是呼叫方存在类型参数这一事实,您只需说“使用显式类型参数调用泛型方法 ”。

举例说明JLS中提到的(某种)

  

在泛型方法(第8.4.4节)的情况下,确定方法是否适用将要求确定实际的类型参数。可以显式或隐式传递实际类型参数。如果它们是隐式传递的,则必须从参数表达式的类型推断出它们(§15.12.2.7)。

答案 1 :(得分:3)

如果你所说的语法是尖括号,那么它们被称为TYPE PARAMETERS。