#java #arraystoreexception
#java #arraystoreexception
Вопрос:
У меня проблема с этим кодом:
package com.josuecode.tournament;
import java.util.*;
public class test {
public static void main(String[] args) {
ArrayList <Chessplayers> registers = new ArrayList <Chessplayers> ();
Lists_methods.registrartion(registers,(short) 1);
Chessplayers[][] round1 = new Chessplayers [2][(int) Math.ceil(registers.size() / 2)];
round1 = registers.toArray(round1);
for (int i = 0; i < round1.length; i ) {
System.out.println(round1[i]);
}
}
}
Я получил это исключение в строке 11
«Исключение в потоке «main» java.lang.Исключение ArrayStoreException: arraycopy: несоответствие типа элемента: не удается привести один из элементов java.lang.Укажите [] тип целевого массива, [Lcom.josuecode.tournament.Шахматисты;»
и я не знаю, почему, если оба (ArrayList и массив) имеют один и тот же тип.
в ArrayList хранятся объекты класса Chessplayers, и я хочу преобразовать этот список в java Array.
Комментарии:
1. Итак, вы ожидали, возможно, что
toArray()
это преобразует ArrayList данного типа объекта в двумерный массив этого типа объекта? Я не думаю, что он собирается это сделать, как он узнает, какие элементы куда поместить? Кроме того, в будущем публикуйте фактическое сообщение об ошибке, которое вы получаете, и помечайте строку соответствующим номером строки, иначе некоторые люди даже не прочитают весь пост (как я в другие дни).2. Вы правы. Спасибо