JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/вроде делаю по заданию , но ошибка: Невозможно привести о...
Анна Ивашенцева
24 уровень
  • 12.12.2019
  • 658просмотров
  • 13комментариев

вроде делаю по заданию , но ошибка: Невозможно привести объект типа "java.lang.String" к типу "java.util.ArrayList".

Вопрос по задаче Массив списков строк
Java Syntax,  10 уровень,  11 лекция
Обсуждается


Создай массив, элементами которого будут списки строк.
Заполни массив любыми данными и выведи их на экран.

Требования:
  • Метод createList должен объявлять и инициализировать массив с типом элементов ArrayList<String>.
  • Метод createList должен возвращать созданный массив.
  • Метод createList должен добавлять в массив элементы (списки строк). Списки должны быть не пустые.
  • Программа должна выводить данные на экран.
  • Метод main должен вызывать метод createList.
  • Метод main должен вызывать метод printList.
....
package com.javarush.task.task10.task1015; import java.util.ArrayList; /* Массив списков строк */ public class Solution { public static void main(String[] args) { ArrayList<String>[] arrayOfStringList = createList(); printList(arrayOfStringList); } @SuppressWarnings("unchecked") public static ArrayList<String>[] createList() { ArrayList [] list1 = new ArrayList[5]; list1[0] = "String1"; list1[1] = "String2"; list1[2] = "String3"; list1[3] = "String4"; list1[4] = "String5"; ArrayList [] list2 = new ArrayList[5]; list2[0] = "String1"; list2[1] = "String2"; list2[2] = "String3"; list2[3] = "String4"; list2[4] = "String5"; ArrayList [] arrayOfStringList = new ArrayList[]{list1, list2}; return arrayOfStringList; } public static void printList(ArrayList<String>[] arrayOfStringList) { for (ArrayList<String> list : arrayOfStringList) { for (String s : list) { System.out.println(s); } } } }
0
Комментарии (13)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
12 декабря 2019, 11:08
Потому что у тебя raw ArrayList, непараметризованный. И в качестве элементов ты добавляешь не списки, а строки
0
Ksenia VolkovaJava Developer в DXCMaster
12 декабря 2019, 11:06
Ты создаешь массив списков какой-то
0
Yuriy
Уровень 2
Expert
12 декабря 2019, 11:07
Это и требуется по условию)
0
Анна Ивашенцева
Уровень 24
12 декабря 2019, 11:07
ну да , а почему тогда ошибка такая ?
0
Yuriy
Уровень 2
Expert
12 декабря 2019, 11:08
Потому, что каждый элемент массива это не строка, а список строк.
0
Yuriy
Уровень 2
Expert
12 декабря 2019, 11:10
Ну и ArrayList[] и ArrayList<String>[] это не одно и то же.
0
Анна Ивашенцева
Уровень 24
12 декабря 2019, 11:14
public static ArrayList<String>[] createList() { ArrayList<String> list1 = new ArrayList<>(); list1.add("String1"); list1.add("String2"); ArrayList<String> list2 = new ArrayList<>(); list2.add("String3"); list2.add("String4"); ArrayList []<String> arrayOfStringList = new ArrayList[]{list1, list2}; return arrayOfStringList; } если я делаю так, то по первому пункту не проходит
0
Yuriy
Уровень 2
Expert
12 декабря 2019, 11:18
Что такое ArrayList []<String> ?
0
Анна Ивашенцева
Уровень 24
12 декабря 2019, 11:19
ArrayList []<String> arrayOfStringList = new ArrayList[]{list1, list2}; я так понимаю что это вот этот массив куда нужно закинуть списки
0
Yuriy
Уровень 2
Expert
12 декабря 2019, 11:21
Посмотрите внимательно: Нужно:
ArrayList<String>[]
У Вас:
ArrayList []<String>
0
Анна Ивашенцева
Уровень 24
12 декабря 2019, 11:25
да он все равно не проходит 1 пункт, мне просто не понятно, я же делаю списки и создаю массив , добавляя туда списки, почему валидатор не пропускает? или я задание не понимаю
0
Yuriy
Уровень 2
Expert
12 декабря 2019, 11:31
Массив списков строк это ArrayList<String>[] А ArrayList []<String> неведомая компилятору абракадабра.
0
Анна Ивашенцева
Уровень 24
12 декабря 2019, 11:32
ArrayList<String>[] all = new ArrayList[1]; all[0] = new ArrayList<String>(); all[0].add("String"); прошел такой метод...
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush