<?>在Android方法签名中的含义是什么?

Pri*_*hir 4 java generics

我正在浏览代码并找到以下方法声明.

public void onItemClick(AdapterView<?> parent, View v, int position, long id)
Run Code Online (Sandbox Code Playgroud)

<?>这里的意思是什么?

谢谢.

Ern*_*ill 6

AdapterView是一个通用类.它将另一种数据类型作为参数,然后以某种方式对其操作进行定制.通常,你会声明AdapterView类似的东西

AdapterView<String> avs = new AdapterView<String>(...);
Run Code Online (Sandbox Code Playgroud)

这是指AdapterViewStrings 定制的.

现在,考虑到所有这些:<?>意味着这个方法将接受一个AdapterView不管它自定义的类.它是一个通配符类型说明符.