ho creato un nuovo ArrayList utilizzando sottolista Method.Now quando si tenta di eseguire l'operazione di intersezione utilizzando retainAll getta seguente eccezionePerché retainAll in ArrayList genera un'eccezione
retainAll() metodo funziona per sottostante Codice
List<Integer> arrNums1 = new ArrayList<Integer>();
arrNums1.add(1);
arrNums1.add(2);
arrNums1.add(3);
List<Integer> arrNums2 = arrNums1.subList(0, 1);
arrNums2.retainAll(arrNums1);
ma quando provo ad applicare retainAll per codice qui sotto genera eccezioni come qui sotto
codice Java
public class Generics1
{
public static void main(String[] args)
{
List<Fruits> arrFruits = new ArrayList<Fruits>();
Fruits objApple = new Apple();
Fruits objOrange = new Orange();
Fruits objMango = new Mango();
arrFruits.add(objApple);
arrFruits.add(objOrange);
arrFruits.add(objMango);
List<Fruits> arrNewFruits = arrFruits.subList(0, 1);
System.out.println(arrFruits.retainAll(arrNewFruits));
}
}
class Fruits {}
class Apple extends Fruits {}
class Orange extends Fruits {}
class Mango extends Fruits {}
ERRORE
Ove possibile, un esempio di codice senza dipendenze sconosciute è il migliore. Ad esempio, questo si verifica solo con la classe Fruit o una classe Java standard ha lo stesso problema? –
Quando l'elenco contiene un numero, diciamo quando creo un elenco retainAll funziona gr8 –
Sì, ho usato String e testato ha funzionato anche –