Я пытаюсь получить доступ к элементам нескольких массивов, которые хранятся в списке массивов. Я могу получить доступ к нему регулярно, но проблема возникает, когда я использую общий тип E для учета разных типов данных. Это дает мне исключение класса. Если я изменю тип tempStart и tempScan и соответствующие приведения к int [] (поскольку это то, что я использую для передачи), он запускается.Как получить доступ к элементам в общем массиве массивов
public static <E> ArrayList<E> removeDuplicates(ArrayList<E> list) {
if (list.get(0).getClass().isArray()) {
System.out.println(" I am an array!");
//go through the arrays and make sure they are
//not the same, remove any that are the same
//make flag to see if something is different
boolean matching;
for (int idx = 0; idx < list.size() - 1; idx++) {
E[] tempStart =(E[])list.get(idx);
for (int k = idx + 1; k < list.size(); k++) {
matching = true;
E[] tempScan = (E[])list.get(k);
for (int index = 0; index < tempStart.length; index++) {
if (tempStart[index] != tempScan[index]) {
matching = false;
}
}
if (matching) {
list.remove(tempScan);
k--;
}
}
}
Ваши циклы для итерации по списку. Вы проверяете, совпадают ли два массива в arraylist, или же элементы внутри массивов, хранящихся у arraylist, одинаковы? – lmcphers