|
0 / 0 / 0
Регистрация: 10.04.2016
Сообщений: 3
|
|||||||||||||||||||||||||||||||
Java LinkedList10.04.2016, 19:54. Показов 1456. Ответов 4
Метки нет (Все метки)
Здравствуйте. Не могу разобраться с одним моментом.
Стартовые условия:
public boolean addAll(Collection<? extends E> c) { .... } Если я правильно понимаю - есть одно ограничение: коллекция, которую добавляем должна содержать элементы, тип которых ниже по иерархии от типа текущей коллекции
Но дальше нужна помощь, никак не могу дойти самостоятельно: у LinkedList есть конструктор с помощью которого мы можем создать LinkedList на основе другой коллекции. Реализация этого конструктора такая:
Если у меня в двух списках (и в listCat, и в listDog) будут какие-то элементы, то в результате я получу список listCat который будет содержать несколько котов и несколько собак. я не понимаю как оно компилится! то есть понятно, что потом с этим списком уже никак не поработаешь, потому что там разные объекты и будет выкидывать ClassCastException, но почему
0
|
|||||||||||||||||||||||||||||||
| 10.04.2016, 19:54 | |
|
Ответы с готовыми решениями:
4
Проблема с LinkedList java.lang.AssertionError добавляется лишний пробел при Assert.assertEquals() LinkedList Свой LinkedList |
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
||||||||||||||||
| 10.04.2016, 21:47 | ||||||||||||||||
|
Despicable Me, хороший вопрос!
Я порылся немного в интернете и вот что накопал. Весь сыр бор из-за того, что в самом начале вы указываете тип коллекции, а потом нет. Если сделать так:
raw type Честно говоря, я сам не сильно понял весь механизм, но полагаю, что в данном случае компилятор не проверяет соответствие типов и просто кастит.Я попытался выудить тип элементов создаваего листа, но не получилось
raw type это даже не Object, а java.lang.Class. Дальше копаться не стал.
1
|
||||||||||||||||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,764
|
||||||||||||||
| 11.04.2016, 00:18 | ||||||||||||||
А вот почему такое присваивание LinkedList<Cat> cats = new LinkedList<Object>(...); до сих пор не вызывает ошибки компиляции — хз. Думаю, у Оракл руки не дошли сделать такую проверку. Вообще все IDE вызов конструктора без типа-параметра new LinkedList(listDog) подсвечивают предупреждением и правильный синтаксис:
1
|
||||||||||||||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|||
| 11.04.2016, 00:41 | |||
|
ошибка разумеется не в строке с объявлением, а при попытке с помощью рефлексии вытащить тип коллекции
0
|
|||
|
0 / 0 / 0
Регистрация: 10.04.2016
Сообщений: 3
|
|
| 11.04.2016, 08:38 [ТС] | |
|
Большущее спасибо за ответы, разобралась!
0
|
|
| 11.04.2016, 08:38 | |
|
Помогаю со студенческими работами здесь
5
C linkedlist в arraylist
LinkedList Ошибка новичка! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|