IncompatibleClassChangeError

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi!

An den folgenden Zeilen wird wohl irgendwas falsch sein, ich weiß leider nur nicht was:

Code:
    public void setTileSize(Point tileSize){
        for (Vector vector: map)
            for(Object tile: vector)
                if (tile != null) ((Tile)tile).setSize(tileSize);    //<--- !!!                                     
    }

Fehler: <Exception in thread "AWT-EventQueue-0" java.lang.IncompatibleClassChangeError> (letzte Zeile)

Der Vector "map" wurde so initialisiert:

Code:
        map = new Vector<Vector<Tile>>();
        for(int i = 0; i<=sy; i++){
            map.add(new Vector<Tile>()); 
            map.lastElement().setSize(sx);
        }

Weiß jemand Rat?
 
G

Guest

Gast
So funktioniert es übrigens:

Code:
    public void setTileSize(Point tileSize){
        for (Vector<Tile> vector: map)
            for(Tile tile: vector)
                if (tile != null) ((Tile)tile).setSize(tileSize);                                                           
    }

Aber das oben müsste doch auch gehen?
 

Tobias

Top Contributor
Wie alle Errors handelt es sich um einen abnormalen Zustand, der nie auftreten sollte. In deinem Fall ist anscheinend eine benötigte Klasse in einer Art und Weise verändert worden, die sie inkompatibek zu den Anforderungen gemacht hat. Wahrscheinlich würde dein erster Code jetzt, nachdem dein Projekt vollständig neu gebaut und kompiliert wurde, wieder funktionieren, denn die Fehlermeldung ist wohl auf einen Fehler im Build-Prozess zurückzuführen.

mpG
Tobias
 
G

Guest

Gast
Richtig vermutet! Wenn ich es jetzt mit dem alten Code compiliere funktioniert es trotzdem fehlerfrei.

Aber der Fehler liegt irgendwo in dem Developmentkid und nicht bei mir?
 

Wildcard

Top Contributor
Anonymous hat gesagt.:
Aber der Fehler liegt irgendwo in dem Developmentkid und nicht bei mir?
Da ist irgendein Bit gekippt oder ähnliches. Lohnt sich nicht sich darüber Gedanken zu machen.
Bei Errors ist der Fehler fast nie im Code (ausser bei JNI).
Wenn Fehler in deinem Code sind äussert sich das i.d.R in Exceptions.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben