问号(?
)表示通配符,代表未知类型的泛型。 当可以使用Object
类中提供的功能或当代码独立于类型参数来实现方法时,这样的参数可以使用任何对象。
要声明无限通配符参数,只需要列出问号(?
)。
示例
以下示例说明了如何使用扩展来指定无界通配符。
使用您喜欢的编辑器创建以下java程序,并保存到文件:UnboundedWildcards.java 中,代码如下所示 -
package com.yiibai;
import java.util.Arrays;
import java.util.List;
public class UnboundedWildcards {
public static void printAll(List<?> list) {
for (Object item : list)
System.out.println(item + " ");
}
public static void main(String args[]) {
List<Integer> integerList = Arrays.asList(10, 20, 30);
printAll(integerList);
List<Double> doubleList = Arrays.asList(11.2, 12.3, 13.5);
printAll(doubleList);
}
}
执行上面代码,得到以下结果 -
10
20
30
11.2
12.3
13.5