#java #массивы #arraylist
Есть ArrayListкоторый автоматически заполняется данными(ссылками). Хочу преобразовать его в простой String[] командой: public static ArrayList linkList = new ArrayList (); String[] url = new String[linkList.size()]; // ошибка url = linkList.toArray(url); Но Eсlipse ругается на ; причем вне зависимости от того как я пытаюсь преобразовать, в этом случае тоже будет ошибка: String[] url = {}; // ошибка url = linkList.toArray(new String[linkList.size()]); В этом варианте нет ошибки: String[] url = linkList.toArray(new String[linkList.size()]); Но если попытаться вывести на консоль, то вместо данных я получаю вот такую ошибку: Ljava.lang.String;@45ds364 А вот такой вариант крашит программу: lk.setText("Ссылка: " +url[2]); Такой нормально покажет ссылку: lk.setText("Ссылка: " +linkList.get(2)); Соответственно вопрос в чем может быть ошибка и как лучше преобразовать ArrayList в обычный массив.
Ответы
Ответ 1
Listlist = new ArrayList (); String[] arr = list.toArray(new String[list.size()]); Чтобы вывести массив, необходимо использовать Arrays.toString(): System.out.println(Arrays.toString(arr)); Ответ 2
(Щас меня заминусят, прям чувствую) Попробуйте конвертировать вот так: String[] output = new String[array.size()]; for (int i = 0; i != array.size(); i++) { output[i] = array.get(i); } Мне этот способ не один раз помог.
Комментариев нет:
Отправить комментарий