Array Store Exception с использованием массива copy
Я делаю метод, в котором мне нужно скопировать массив в другой.
public void rotate (int movements){
SuperList<T> temp = new SuperList<> ();
if( movements != size ){
for( int i = 0; i < size - movements; i++){
temp.add( i, (T) (get( movements + i )));
//System.out.println(i + movements);
}
for( int j = 0; j < movements; j++)
temp.add( temp.size(), ( T ) (get( j )));
System.arraycopy(temp, 0, this, 0, size);
}
}
но когда я выполняю это появляется:
Exception in thread "main" java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at unal.datastructures.SuperList.rotate(SuperList.java:42)
at unal.datastructures.SuperList.main(SuperList.java:65)
1 ответ
System.arraycopy
копии между двумя массивами - вы применяете его к двум экземплярам SuperList
, который является коллекцией (реализует List
по-видимому).