powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / почему создать массив unbounded wild card можно, bounded - нет ?
8 сообщений из 8, страница 1 из 1
почему создать массив unbounded wild card можно, bounded - нет ?
    #38764364
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так написать можно:

Код: java
1.
ArrayList<?>[] arr = new ArrayList<?>[2];



а так нет:

Код: java
1.
2.
ArrayList<? extends Object>[] arr = new ArrayList<? extends Object>[2];
ArrayList<? super Object>[] arr = new ArrayList<? super Object>[2];



и так тоже нельзя:

Код: java
1.
ArrayList<?> arr = new ArrayList<?>();




Собственно увидел вопрос на SO, но самого рейтингового ответа так и не понял:
http://stackoverflow.com/a/26141039/2674303

Помогите разобраться, пожалуйста.
...
Рейтинг: 0 / 0
почему создать массив unbounded wild card можно, bounded - нет ?
    #38764380
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напоминает про приём врача. Тут нажму болит. А тут нажму не болит. Ну, так не нажимай.
Массивы отдельная тема. У них нет возможности контролировать Generic тип. Поэтому с ними кроме unbounded wildcard не выходит ничего использовать.
wildcard вообще можно использовать только при объявлении типов. Создавать новый экземпляр Generic типа с wildcard нельзя. В этом смысла особого нет.
...
Рейтинг: 0 / 0
почему создать массив unbounded wild card можно, bounded - нет ?
    #38764397
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
авторУ них нет возможности контролировать Generic тип

Да-да, понимание этого есть. ArrayStoredException


авторwildcard вообще можно использовать только при объявлении типов. Создавать новый экземпляр Generic типа с wildcard нельзя. В этом смысла особого нет.

Давайте в данной теме использовать слова можно/нельзя с точки зрения синтаксиса. Да, я согласен, что в жизни наврятли я буду так делать, но создатели языка ведь чем-то руководствовались, когда разрешили делать unbounded wild card тип массивы, а bounded - запретили.
...
Рейтинг: 0 / 0
почему создать массив unbounded wild card можно, bounded - нет ?
    #38764412
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

У тебя тут два разных вопроса. Один про массивы, второй - нет.
bounded для массива нельзя точно так же как и Generic тип, потому что bounded wildcard требует контроля типа этих самых "границ".
unbounded wildcard контроля типа не требует вообще.
...
Рейтинг: 0 / 0
почему создать массив unbounded wild card можно, bounded - нет ?
    #38764424
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Blazkowiczbounded для массива нельзя точно так же как и Generic тип, потому что bounded wildcard требует контроля типа этих самых "границ".
принимается)

Как было замечено это только первый вопрос.
второй:

почему так нельзя?

Код: java
1.
ArrayList<?> arr = new ArrayList<?>();
...
Рейтинг: 0 / 0
почему создать массив unbounded wild card можно, bounded - нет ?
    #38764430
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerпочему так нельзя?

Код: java
1.
ArrayList<?> arr = new ArrayList<?>();


Потому что в такой список нельзя ничего добавить. :) Зачем он нужен?
...
Рейтинг: 0 / 0
почему создать массив unbounded wild card можно, bounded - нет ?
    #38764447
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

сюда тоже фиг чего добавишь, но так можно

Код: java
1.
ArrayList<?> arr = new ArrayList<>();
...
Рейтинг: 0 / 0
почему создать массив unbounded wild card можно, bounded - нет ?
    #38764448
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

и кстати вроде null можно добавить же
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / почему создать массив unbounded wild card можно, bounded - нет ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]