有時需要這種(相對奇怪的)語法來避免類型不匹配。但是那個語法的名字實際上是什麼?從Google Guava(R07)什麼是泛型語法的名稱:「X. <String,String> method()」
用例:
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();
ImmutableMap.builder()'也是「對一個通用方法的調用」(我的最後一個例子表明它仍然允許推斷進行分配時的類型參數)。我沒有爲'ImmutableMap。 builder()'找到一個特殊的概念,但它*應該*有一個特定的名字IMO :-) –
2010-11-20 15:25:23
啊,好的。更新我的答案... – aioobe 2010-11-20 15:29:39
感謝 - 相當長的名字,但至少我不必記住它爲「type period angle parameter comma parameter angle methodname」anmore ;-) – 2010-11-20 15:32:07