问号(?
)表示通配符,代表未知类型的泛型。 当可以使用Object
类中提供的功能或当代码独立于类型参数来实现方法时,这样的参数可以使用任何对象。
要声明无限通配符参数,只需要列出问号(?
)。
以下示例说明了如何使用扩展来指定无界通配符。
使用您喜欢的编辑器创建以下java程序,并保存到文件:UnboundedWildcards.java 中,代码如下所示 -
package com.zyiz; 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 11.2 12.3 13.5