Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Nach Serializierung kein Zugriff auf Variabeln moeglich
fuer ein Spiel, serialisiere ich die Klasse Spieler, die die Informationen ueber die Spieler enthaelt, klappt bis jetzt ganz gut, aber beim einlesen, kriege ich damm von dem netten Compiler mitgeteilt, dass die Variable in der Klasse Spieler(die ich ja gerade erst eingelesen hab!) angeblich eventuell noch nicht initialisiert ist. Das ist doch komisch, der hat die doch gerade erst eingelesen, wie kann der die da wieder vergessen?
Hier der Code:
Code:
File b = new File("filepath...");
FileInputStream in;
Spieler d;
try {
in = new FileInputStream(b);
ObjectInputStream rein = new ObjectInputStream(in);
d = (Spieler)rein.readObject();
rein.close();
in.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e ) {
e.printStackTrace();
}
System.out.println(d.name);//hier kommt der Fehler, mit dem Variable might not have been initialzied
Wo liegt mein Denkfehler, danke fuer antworten...
MfG
MPW
edit: Ach ja, verwender die Standartserializierung, d.h. ich habe die Methoden read/writeObjekt nicht ueberschrieben, liegt vllt. da der Fehler, aber eigentlich muss das doch auch so gehen, oder?
Danke sowas liebe ich, der erste Beitrag gleich dass, was man uebersehen hat. Danke! Hab das ding jetzt einfach in den try-Block reingehaengt. So ist das halt wenn man um kurz vor 1 noch programmiert.
flanker hat gesagt.:
Der Compiler hat doch geschrieben, daß du Variable d inizialisieren sollst, glaubst du ihn nicht?
joa, aber wie sollte ich das machen....bin davon ausgegangen, dass der die gefaelligst einliest, aber hab ja die Option mit der Exception uebersehen.^^ naja geht ja jetzt...
Joa ist leider public, da es riesige Variabelnmengen werden und ich schlicht keinen bock hab dafuer dutzende get/set-Methoden zu machen. Gibt es dafuer eigentlich in Eclipse eine Funktion? automatische get/set-Methoden waere doch mal ein Fortschritt...
Joa ist leider public, da es riesige Variabelnmengen werden und ich schlicht keinen bock hab dafuer dutzende get/set-Methoden zu machen. Gibt es dafuer eigentlich in Eclipse eine Funktion? automatische get/set-Methoden waere doch mal ein Fortschritt...
1. riesige Variablenmenge lassen immer schlechtes Design vermuten
2. Faulheit des Programmieres darf sich nicht in einem schlechten programmierstil erkennen lassen
Joa ist leider public, da es riesige Variabelnmengen werden und ich schlicht keinen bock hab dafuer dutzende get/set-Methoden zu machen. Gibt es dafuer eigentlich in Eclipse eine Funktion? automatische get/set-Methoden waere doch mal ein Fortschritt...
1. riesige Variablenmenge lassen immer schlechtes Design vermuten
2. Faulheit des Programmieres darf sich nicht in einem schlechten programmierstil erkennen lassen
Sorry, aber Datenbanken sind nunmal dafuer da grosse Datenmengen aufzunehmen, und die Variablenmenge wird hier wohl durch die Komplexitaet des Spiels vorgeben.
Danke fuer den Tipp mit den Getter und Setter Methoden, bin einfach neu bei Eclipse...kenne die ganzen Funktionen noch nicht....