Синтаксис Java <?> Объяснение - PullRequest
0 голосов
/ 09 июля 2011

Привет, я наткнулся на код в документации 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();
        }
    });

В этом смысле <?> (пробел добавлен, так как стекопоток не позволяет без пробела) указывать / делать?

1 Ответ

3 голосов
/ 09 июля 2011

<?> - это подстановочный знак для универсального типа, означающий, что универсальный тип для AdapterView может быть любым.

Более конкретно, в этом случае параметр метода может получить AdapterView с абсолютно любым универсальным типом.Как примечание, если вы хотите ограничить универсальный тип, вы можете сделать:

AdapterView<? extends myClass)

Это ограничивает универсальный тип myClass или чем-то, что расширяет myClass.

Как примечание:

 AdapterView <?> and AdapterView<? extends Object> 

идентичны.

Дополнительную информацию можно найти здесь, в разделе подстановочных знаков

Обобщения Javaдокументация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...