Учитывая бетон класс:Использование неизвестного общего типа с классом List
public class Book {
// ...
}
И в java.util.List
инициализации:
List<?> myList = new ArrayList<Book>();
Следующая строка кода делает не компиляции:
myList.add(new Book());
Итак, какова цель использования неизвестного общего типа в List
, если вы не можете ничего добавить в список?
Возможно, вы можете сделать .get()
и другие операции чтения на объекте, но почему бы вам это сделать до его инициализации?
Поскольку вопрос теперь закрыт как дубликат, я добавил ответ на [другой вопрос] (http://stackoverflow.com/questions/7671072/what-is-the-use-and-point-of- unbound-wildcards-generics-in-java) –
Я не уверен, что это настоящий дубликат. Но многие ответы на другой вопрос актуальны для вас (мой должен быть :-)). Не стесняйтесь редактировать свой вопрос и пинговать мне в комментарии, если вам нужны какие-то уточнения. –
Вы никогда не будете писать 'List > myList = new ArrayList();' в реальном коде. 'List >' только имеет смысл как параметр возвращаемого типа метода, подобный примерам, приведенным в [моем ответе] (http://stackoverflow.com/a/31749894/3545273). –