как бороться с этим несоответствием типа элемента ArrayStoreException?

#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. Вы правы. Спасибо