Mam stowrzyc klase wspierajaca listy w dodatkowych operacjach. XList dziedziczy po ArrayLiscie. Mamy przykladowe 3 listy:
List<String> sa = Arrays.asList( "a", "b");
List<String> sb = Arrays.asList( "X", "Y", "Z" );
XList<String> sc = XList.charsOf( "12" );// <---funkcja zwracajaca liste z [1,2]
XList toCombine = XList.of(sa, sb, sc); //<----funcka zwracajaca liste list.
System.out.println(toCombine.get(1).getClass()); // <----test: java.util.Arrays$ArrayList
XList<XList<String>> cres = toCombine.combine();
System.out.println(cres);
Funkcja combine ma nam zwrocic iloczyn kartezjanski i teraz moje pytanie jak dostac sie do wielkosci list listy toCombine. Na razie chce wyznaczyc sama wielkosc nowej Listy
public XList<T> combine(){
int count = 0;
for(int i=0; i<this.size(); i++){
ArrayList<T> al = (ArrayList<T>) this.get(i);
count*=al.size();
}
System.out.println();
return null;
No i wyskakuje java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList
Dlaczego i jak to naprawic??