我从The Java™Tutorials Type Inference中找到了以下代码片段
static <T> T pick(T a1, T a2) { return a2; }
Serializable s = pick("d", new ArrayList<String>());
因此a1
,a2
在这里可以是不同的类型,如何强制它们成为同一类型?说只能pick("d", "e");
叫。
how can I force them to be the same type?
如果T是仅像的非常特定的类型String
,那么一个人就可以避免泛型。但是您可以限制范围,例如-
static <T extends Number> T pick(T a1, T a2) { return a2; }
pick(0, 1)
,因为T限于Number和subclass。我没有画<T extends String>
asString
类的示例final
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句