【发布时间】:2011-12-07 04:09:48
【问题描述】:
我正在浏览一段代码,发现下面的方法声明。
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
<?> 在这里是什么意思?
谢谢。
【问题讨论】:
-
您要查找的术语是“泛型”。我已经适当地更新了标签。请参阅相关帖子。
我正在浏览一段代码,发现下面的方法声明。
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
<?> 在这里是什么意思?
谢谢。
【问题讨论】:
AdapterView 是一个泛型类。它采用另一种数据类型作为参数,然后以某种方式针对该类型定制其操作。通常,您会声明 AdapterView 类似
AdapterView<String> avs = new AdapterView<String>(...);
这是指为Strings 定制的AdapterView。
现在,考虑到所有这些:<?> 意味着此方法将接受AdapterView,而不管它是为哪个类定制的。这是一个通配符类型说明符。
【讨论】: