private static final long serialVersionUID = 1L ?
lima-city → Forum → Programmiersprachen → Java
enden
fehler
funktion
hintergrund
jeweilige meldung
komponente
links liegen
objekt
programm
rechts anklicken
sinn
start
vorliegenden klasse einfaches beispiel
warnmeldung
warnung
-
Hallo,
dies mag vielleicht eine Anfängerfrage sein, aber warum verlangt Eclipse immer, dass man in einer Klasse, die auf AWT zugreift, folgendes schreibt:
private static final long serialVersionUID = 1L;
Ich meine es funktioniert doch auch ohne! Welchen Sinn hat also diese Funktion?
Gruß,
Sebastian -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
serialVersionUID: Wie der Name schon sagt dient die Variable der Serialisierung. Wenn du eine Komponente Serialisierst und später wieder desialisierst, muss sie identisch sein mit der vorliegenden Klasse. EInfaches Beispiel:
Du schreibst ein Programm in dem du ein "eigenes" JTextField serialisierst und auf der Festplatte speicherst, wenn du das Programm schließt. Beim Start des PRogramms wird das JTextField deserialisiert. Zwischenzeitlich hast du an der JTextField Klasse etwas geändert, zb. blinkt der Hintergrund nun, und versuchst die alte Version deiner Klasse zu deserialisieren. Dies wird in einer Exception enden, weil die serialiserte Klasse nicht identlich zu der aktuellen ist. Deswegen der serialVersionUID. Solange du also nicht vorhast deine Objekte zu serialisieren, kannst du den links liegen lassen.
Du kannst die Warnung bei Eclipse mit der @supress Anotation unterdrücken. Am einfachsten dazu unten bei den Fehler/Warnmeldungen die jeweilige Meldung mit rechts anklicken und den jeweiligen QUickFix auswählen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage