(适配器视图<?>父项、视图视图、整数位置、长 id)<?>符号有什么作用?



我知道这很简单,但我在Android Developer网站上找不到符号及其含义的列表。只是想知道是什么?一般来说,在Java中符号的意思是;以及它的含义是否会根据大小写而变化。

例如,如果在(AdapterView)parent, View, View, int position, long id),而不是另一个用法;我不认为它有,但我想我应该问一下,以防万一。

谢谢!

通配符。& lt; ?比;和<一样吗?Object>延伸;-任何类型。通配符通常使用的方式是(Foo的父类)

下面是使用:

的一个例子考虑以下方法,printList:

public static void printList(List<Object> list) {
for (Object elem : list)
System.out.println(elem + " ");
System.out.println();
}

printList的目标是打印任何类型的列表,但是它没有实现这个目标——它只打印Object实例的列表;它不能打印List、List、List等等,因为它们不是List的子类型。要编写一个泛型printList方法,请使用List:

public static void printList(List<?> list) {
for (Object elem: list)
System.out.print(elem + " ");
System.out.println();
}

因为对于任何具体类型A, List都是List的子类型,所以可以使用printList来打印任何类型的列表:

List<Integer> li = Arrays.asList(1, 2, 3);
List<String> ls = Arrays.asList("one", "two", "three");
printList(li);
printList(ls);

查看更多信息:通配符(Java™教程>学习Java语言泛型(更新))

相关内容

最新更新