Java语法<! - ? - >解释

时间:2011-07-09 04:57:53

标签: java generics syntax

您好我在Grid view中遇到了以下代码中的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();
        }
    });

这就是&lt; ?&gt; (添加空格作为stackoverflow不允许没有空格)指示/ do?

1 个答案:

答案 0 :(得分:3)

&lt; ? &GT;是泛型类型的通配符,这意味着AdapterView的泛型类型可以是任何类型。

更具体地说,在这种情况下,方法上的参数可以接收具有绝对任何泛型类型的AdapterView。如果您想限制通用类型,请注意:

AdapterView<? extends myClass)

这将泛型类型限制为myClass或扩展myClass的任何内容。

就像一张纸条:

 AdapterView <?> and AdapterView<? extends Object> 

相同。

您可以在通配符部分

中找到更多信息

Java generics documentation

相关问题