ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
245
245
EMPFEHLEN
-
Hallo allerseits,
ich habe folgenden Code:
Code :1 2 3 4 5
for (int a=0; a<101; a++) { Element el1 = (Element) listElements.get(a); file[a] = el1.getText().toString(); }
Allerdings bekomme ich die Fehlermeldung:
Code :1
Exception in thread "main" java.lang.ClassCastException.
Dann habe ich mir den Inhalt der Liste 'listElements' printen lassen:
ConfigEntry ist dabei eine andere Klasse, mit welche ich ein paar Lines zuvor mit new ConfigEntry() (neues Objekt) aufrufe.Code :1
[ConfigEntry@1201a25, ConfigEntry@94948a, ...
Ich habe es schon mit 'if (... instanceof ...)' probiert, ging aber trotzdem nicht !
Wie umgehe ich dieses Problem ?
Danke im Voraus, Gruß TruckCannot convert from Newbie to Developer!
~ Freue mich über jede positive Bewertung ~
-
Du darfst dann halt entsprechend nicht auf Element sondern musst auf ConfigEntry casten.
Das sollte auch mit instanceof funktionieren:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13
for (int a=0; a<101; a++) { Object obj = listElements.get(a); if(obj instanceof Element){ Element el1 = (Element) obj; file[a] = el1.getText().toString(); } else if(obj instanceof ConfigEntry){ ConfigEntry el1 = (ConfigEntry) obj; } else{ System.out.println(obj.getClass().getName()); } }
Geändert von zeja (01.08.07 um 10:31 Uhr)
-
Dann gibt er aber die gleiche Exception in der folgenden Zeile aus:
Code :1
ConfigEntry el1 = (ConfigEntry) listElements.get(a);
Cannot convert from Newbie to Developer!
~ Freue mich über jede positive Bewertung ~
-
Oh sorry mein Code war auch so nicht ganz richtig... habs nochmal korrigiert.
Wie sieht denn dein Code nun genau aus?
Und programmierst du noch mit Java 1.4 oder schon 5 oder 6?
-
@1: Trotzdem immernoch der gleiche Fehler !
@2: Viel zu umfangreich... was brauchst du denn geanu ?
@3: mit 5.0Cannot convert from Newbie to Developer!
~ Freue mich über jede positive Bewertung ~
-
Wenn du Java 5 hast dann kannst du doch die Generischen Typparameter benutzen und brauchst dann gar nicht mehr Casten:
Code java:
Und wenn du meinen Code einfach kopierst sollte es keine ClassCastException mehr geben, da ja vor dem Cast mit instanceof geprüft wird ob der Cast erlaubt ist.
-
Falls es weiterhilft:
Unten schreibe ich die erhaltenen Arraysinhalte von File in Attribute, die ich dann noch weiter unten in der überschriebenen toString()- Methode per StringBuffer formatiere:
Code :1
Attribut1 = Integer.valueOf(file[0]);
Und wenn ich das 'else' in deinem Code entferne, kommt eine 'java.lang.NumberFormatException: null'Geändert von _Truck_ (01.08.07 um 11:02 Uhr)
Cannot convert from Newbie to Developer!
~ Freue mich über jede positive Bewertung ~
-
Habe das Problem gelöst bekommen, und zwar habe ich anstatt dem Element mit einem Objekt gearbeitet. So lässt es sich nun problemlos casten !
Danke dir Zeja für deine Bemühung.
Springt auch positive Bewertung dafür heraus
.
Gruß TruckCannot convert from Newbie to Developer!
~ Freue mich über jede positive Bewertung ~
Ähnliche Themen
-
komische ClassCastException
Von MrOTJ im Forum JavaAntworten: 4Letzter Beitrag: 09.06.09, 14:50 -
ClassCastException
Von BDiegelmann im Forum JavaAntworten: 5Letzter Beitrag: 17.01.07, 18:19 -
ClassCastException: $Proxy
Von GartenUmgraben im Forum JavaAntworten: 8Letzter Beitrag: 08.06.05, 00:57 -
ClassCastException
Von mickry_jordan im Forum JavaAntworten: 7Letzter Beitrag: 14.08.04, 09:53 -
ClassLoader + ClassCastException
Von Cybernd im Forum JavaAntworten: 3Letzter Beitrag: 05.07.04, 13:42





Zitieren

Login





