Привет, решил задачу
Вопрос: почему при объявлении и инициализации списков вот так: ArrayList<Integer> list1 = new ArrayList<Integer>(), последние 2 пункта не проходили, а если ArrayList<Integer> list1 = new ArrayList<>(), то все корректно. Если можно объясните, пожалуйста, нормально в понятиях ооп или поделитесь ссылкой
Заранее спасибо)
Богдан Коваленко
15 уровень
Задачу решил, не не понял почему ArrayList list1 = new ArrayList<>() работает только так
Архивный
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Владимир Хворов
17 марта 2019, 12:27
Я ,конечно, возможно ошибаюсь, но разве в круглых скобках второй раз пишется(если пишешь) Integer? На сколько я понимаю это нужно писать в "угловых" скобках, т.е так :
ArrayList<Integer> list1 = new ArrayList<Integer>();
А в круглых скобках задаем длину массива. Поправьте, если ошибаюсь.
0
Богдан Коваленко
17 марта 2019, 12:32
Все правильно, я просто при написании вопроса, случайно, не туда вставил Integer.
Спасибо, что заметил
0
--------Master
17 марта 2019, 12:34
В круглых скобках задается максимальное количество ячеек, после которого потребуется создание нового массива (увеличение текущей вместимости списка), а длина изначально так и остается нулевой, т.к. ничего не добавляется
0
--------Master
17 марта 2019, 11:48решение
Дело не в ООП - это просто какие-то особенности работы самого валидатора. Возможно, как вариант, при тестировании пытается читать файл java и ищет там именно такое объявление, хотя разницы никакой нет
+2
Богдан Коваленко
17 марта 2019, 12:37
Спасибо
+1