Avatar billede mikkelbm Nybegynder
08. oktober 2003 - 21:31 Der er 5 kommentarer og
1 løsning

Hjælp med ClassCastException

Hejsa...

Jeg får en java.lang.ClassCastException, når jeg kører følgende:

import java.util.*;

public class Compare implements Comparator
{
    public int compare(Object o1, Object o2)
    {
        int a = ((Spiller)o1).getTotal();
        int b = ((Spiller)o2).getTotal();
       
        if(a > b)
            return -1;
       
        else if(a < b)
            return 1;
        return 0;
    }
}

Det er en ArrayList jeg prøver at sorterer.

Jeg bruger klassen her:

public void tilfoejSpiller(Spiller spiller)
{
    liste.add(spiller);
    Collections.sort(liste, new Compare());   
}

Jeg kan ikke se hvad problemet skulle være....?
Avatar billede repsak Nybegynder
08. oktober 2003 - 21:35 #1
kan du ikke blive klogere vha. System.out.println(o1 + " " + o2);
eller sådan noget?
Avatar billede arne_v Ekspert
08. oktober 2003 - 21:36 #2
Den fejl bør du kun kunne få hvis der er et objekt i den ArrayList
som ikke er af typen Spiller.
Avatar billede arne_v Ekspert
08. oktober 2003 - 21:40 #3
Du kan iøvrigt nøjes med:

public int compare(Object o1, Object o2)
    {
        int a = ((Spiller)o1).getTotal();
        int b = ((Spiller)o2).getTotal();
        return (a - b);
    }
Avatar billede mikkelbm Nybegynder
08. oktober 2003 - 21:45 #4
Jeg tjekker lige igen, om der skulle være en smutter et sted... Synes bare jeg har dobbelttjekket det...

Det er det eneste sted jeg tilføjer noget til listen...
Avatar billede mikkelbm Nybegynder
08. oktober 2003 - 21:54 #5
Ja, nogle gange kan ikke se skoven for bare træer. Der var selvfølgelig en gammel testmetode som fyldte nogle andre objekter i.
Smid et svar Arne.
Avatar billede arne_v Ekspert
08. oktober 2003 - 21:56 #6
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester