【发布时间】:2013-01-09 16:48:46
【问题描述】:
我正在阅读有关泛型的文章,但我不明白对未绑定通配符的需求以及它与原始类型有何不同。我读了this question,但还是没搞清楚。在Java tutorial page for unbound wildcard我得到了以下两点,我没有理解第一点:
- 如果您正在编写可以使用
Object类中提供的功能实现的方法。- 当代码使用泛型类中不依赖于类型参数的方法时。例如,
List.size()或List.clear()。其实Class<?>之所以这么常用,是因为Class<T>中的大部分方法都不依赖T。
谁能解释一下外行语言中未绑定通配符和原始类型之间的区别。
List<?> 与 List<Object> 有何不同?
【问题讨论】:
-
请注意,术语“原始类型”是指对泛型类型的未参数化引用,例如
List与List<?>。概念略有不同。 -
只是指出
List<Object>不是原始类型,它的泛型类型是Object。原始类型是List。
标签: java generics unbounded-wildcard