[ _owl_ @ 11.11.2004. 20:12 ] @
Imam ArrayList koji sadrzi objekte tipa NestoDrugo a zelim da dobijem niz tih objekata tj NestoDrugo[]. Moze li mi neko objasniti zasto dole prilozeni kod stalno javlja ClassCastException.
Code:

    nestoDrugoLista=new ArrayList();
    nestoDrugoLista.add(new NestoDrugo());
    ...
    NestoDrugo[] nestoDrugoNiz = new NestoDrugo[nestoDrugoLista.size()];    
    try {
        nestoDrugoNiz[]=(NestoDrugo[]) (nestoDrugoLista.toArray());
    } catch (ClassCastException cce) {
        System.out.println("Izuzetak:\n" + cce);
    }

Problem sam resio tako sto prolazim kroz listu i pojedinacno ubacujem clanove liste u niz (pritom ih kastujuci u zeljeni tip).
Video sam da u Javi 1.5.0 ArrayList ima metodu <T> T[] toArray(T[] a) i cini mi se da mi to treba, kako bi izgledao kod koji bi vrsio konverziju koristeci ovu metodu (nisam bas upoznat sa generics-ima)??
[ filmil @ 11.11.2004. 21:30 ] @
Citat:
Problem sam resio tako sto prolazim kroz listu i pojedinacno ubacujem clanove liste u niz (pritom ih kastujuci u zeljeni tip).
Nema potrebe za tim:

Code:
NestoDrugo[] nestoDrugoNiz = (NestoDrugo[]) nestoDrugoLista.toArray(new NestoDrugo[0]);
 

Problem je što ne možeš ceo Object[]-niz da pretvoriš u nešto drugo, ali zato u pomoć dolazi metod List.toArray(Object[]).

f