嗨,我在Grid视图中的android文档中遇到了以下代码。
gridview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show(); } });
在此 < ?>(作为stackoverflow添加的空间不允许没有空间)指示/做什么?
<?>是通用类型的通配符,这意味着AdapterView的通用类型可以是任何东西。
更具体地说,在这种情况下,方法上的参数可能会接收带有绝对任何泛型类型的AdapterView。请注意,如果您想限制泛型类型,可以执行以下操作:
AdapterView<? extends myClass)
这将泛型类型限制为myClass或任何扩展myClass的类型。
请注意:
AdapterView <?> and AdapterView<? extends Object>
是相同的。
您可以在通配符部分中找到其他信息
Java泛型文档