无限制通配符
无限通配符即: <?>
,主要在不确定或不关心实际参数类型时使用,如:
1 | public boolean removeAll(Collection<?> c){ |
由于它不确定具体类型,所以不能将任何元素(Null
除外)放入,即它是只读的,但在很多情况下需要放入对象,因此一种比较常见的方法是使用 类型参数 作为辅助函数
1 | public static void swap(List<?> list, int i, int j){ |
那么 List<?>
和 List<Object>
有什么区别呢?