从Sun Tutorials for genericsJava泛型和类型推断
类型推断
为了说明这最后一点,在下面的例子中,推理 确定第二个参数被传递到拾取方法的类型为 字符串:
static <T> T pick(T a1, T a2) { return a2; }
Serializable s = pick("d", new ArrayList<String>());
Origirally我认为我dea就是你可以使用任何参数代替T
,只要它以String
结尾。例如ArrayList<ArrayList<String>>
但后来我发现下面还有编译罚款:
Serializable s = pick("d", new ArrayList<Integer>());
似乎T
推断是一个Serializable
而不是String
?
那么什么是语句的含义
推理判断的第二个参数传递给挑 方法String类型的
它看起来像一个错字。 – assylias 2012-08-15 11:07:53
@assylias:最普遍的形式应该是感染,对吧? – Cratylus 2012-08-15 11:09:01