FileOutput/Input Objekte

florian.

Mitglied
Hallo,

ich arbeite zur Zeit an einem TippSpiel-Programm, dass, wenn man es beendet alle bekannten Spieler (die tippen) und alle bekannte Spiele (für die getippt wird) per FileOutputStream jeweils als ArrayList speichert.

Nun habe ich eine Frage (ich suche nach einem Fehler, und möchte wissen ob das die Ursache sein könnte):

Es gibt wie gesagt die ArrayList<Spiel> alleSpiele und die ArrayList<Spieler> alleSpieler, die gespeichert werden. Wenn ich die Datei wieder lade (FileInpuStream) werden in beiden Klassen (Spiel und Spieler) die entsprechenden statischen Variablen per Setter-Methode eingestellt.
Der Fehler/das Problem liegt hier: man muss sich für Spiele (für die man tippen möchte) als Spieler anmelden. Dabei werden für jedes Spiel (aus der statischen Variable der Klasse Spiel), für das der Spieler noch nicht angemeldet ist, JButtons angezeigt.
Beim Neustart des Programms (wenn die oben genannten Objekte wieder geladen werden) werden alle Spiele, obwohl der Spieler dafür angemeldet ist, nochmals bei der Spielanmeldung angezeigt.

Meine Vermutung ist, dass, da die Spiele (Referenzen), für die ein Spieler angemeldet ist, mit der ArrayList<Spieler> serialisiert werden (als Instanzvariablen für die Spieler) bei der Deserialisierung nicht auf mehr die gleichen Objekte auf dem Heap zeigen wie die gespeicherten Spiele in der ArrayList<Spiel> alleSpiele. Somit kann ich nicht mehr sagen:
Java:
if(angemeldeterSpieler.getSpiele().contains(spielAusArrayList)) //nur true wenn gleiches Objekt auf Heap (?)
{
//JButtons erstellen für Anmeldung
}

Wenn die Referenzen nicht mehr auf das selbe Objekt auf dem Heap zeigen, wie bekomm ich das hin ?

Ich hoffe ich konnte das Problem ausreichend gut schildern und ihr könnt mir weiterhelfen.
Danke schonmal !
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
statischen Variable ?!

weil ? was für Variablen ? was referenzieren diese Variablen ?

Da würde ich mal anfangen zu suchen ;)

Du sprichst von Instanzvariablen , wenn du diese allerdings als statisch deklarierst gelten sie für alle Instanzen deiner Klasse, sollte dies nun ein boolscher Wert sein der darstellt ob jemand angemeldet ist , und dieser steht auf false, ist klar das dann eben alle Spieler nicht angemeldet sind :)
 
Zuletzt bearbeitet:

florian.

Mitglied
Hallo,
das ist nicht das Problem, das Problem ist, dass 2 verschiedene Referenzvariablen für Spiel-Objekte serialisiert werden (in ArrayLists) und sie später nach der Deserialisierung eventuell (? -> das ist die Frage) nicht mehr das gleiche Objekt auf dem Heap referenzieren.
Gruß
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Du Serialisierst ja aber die Arraylist inclusive der Objekte, eigentlich sollten dann die Zustände auch dementsprechend wieder hergestellt werden , poste den Abschnitt mit welchem du Deine Listen Serialisiert bitte.
 

florian.

Mitglied
:) war ein dummer Fehler: :oops:
ich hab testweise eine Testmethode gemacht, in der 3 Spiele erstellt werden. Diese Methode wird bei jedem Start in der Main-Methode aufgerufen. Somit gab es die Spiele dann nach 2 Starts doppelt...
:lol:
Danke trotzdem für deine Hilfe
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
P Selenium . findElement . input Allgemeine Java-Themen 4
E Input/Output Mikro Input bekommen Allgemeine Java-Themen 4
G Input Frame Allgemeine Java-Themen 6
B In Java Methode mit generic input und output basteln? Allgemeine Java-Themen 4
MoxxiManagarm Credential Input Allgemeine Java-Themen 5
Kirby.exe Keyboard Input ohne Enter Allgemeine Java-Themen 43
T JSoup findet input Feld nicht?! Wie kann ich das Feld finden? Allgemeine Java-Themen 3
H Strategy Pattern - changeColor() Methode - input rgd oder hex einlesen Allgemeine Java-Themen 1
I Text aus Input-Box entnehmen und zuweisen Allgemeine Java-Themen 1
J Java Sound Api Sound input und Output auswählen Allgemeine Java-Themen 4
T ImageIO.read -> Can`t read input file Allgemeine Java-Themen 11
T Input und Outputstream , serielle Schnittstelle Allgemeine Java-Themen 1
DanielsLPecke Input/Output Arduino input. Allgemeine Java-Themen 4
H Security Manager (IIOException: Can't read input file!) Allgemeine Java-Themen 2
B Input/Output Konsolen input args Allgemeine Java-Themen 6
M Mikrofon Input simulieren Allgemeine Java-Themen 1
T Threads Input/Output im Thread - Datei ohne Inhalt Allgemeine Java-Themen 1
C System.in erhält Input von Tastatur. wo wird das festgelegt? Allgemeine Java-Themen 4
N Kalender Normen input/output Allgemeine Java-Themen 2
I Input in cmd Allgemeine Java-Themen 2
K Input file nicht lesbar Allgemeine Java-Themen 9
C Kompletter Pfad aus "input type=file" auslesen Allgemeine Java-Themen 3
B User-Input aus Zahlen und Operatoren - beste Umsetzung? Allgemeine Java-Themen 8
P Ascii Bild aus einem input file nur kommt nix im outputfile an?????? Allgemeine Java-Themen 5
D JOptionPane nur 1 Input möglich? Allgemeine Java-Themen 6
I input-/outputstream Allgemeine Java-Themen 6
T Wie kontinuierlichen asci input parsen? Allgemeine Java-Themen 3
N input programm Allgemeine Java-Themen 3
G Taushen der Input variablen einer method Allgemeine Java-Themen 14
J Binärdateien mit Input/Outputstream lesen und schreiben Allgemeine Java-Themen 3
O Input stream geht net Allgemeine Java-Themen 2
M BufferedReader input - hängt sich auf Allgemeine Java-Themen 4
schegga_B javax.crypto - Cipher Objekte - Sevice Provider matching? Allgemeine Java-Themen 1
berserkerdq2 Weiß jemand wie ich im Scenebuilder das Fenster so darstellen kann, dass beim Vollbildmodus die Objekte so angezeigt werden? Allgemeine Java-Themen 1
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
N einem Array Objekte hinzufügen die ihr Array position gespeichert haben Allgemeine Java-Themen 34
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
L Objekte in Set nicht gefunden Allgemeine Java-Themen 13
Avalon Data Transfer Objekte aus Datenbank erstellen Allgemeine Java-Themen 8
G Objekte mit Strings Aufrufen Allgemeine Java-Themen 8
H Objekte speichern und laden Allgemeine Java-Themen 10
H Objekte speichern und laden Allgemeine Java-Themen 1
MiMa Referenz auf Objekte und deren Inhalte Allgemeine Java-Themen 12
W Objekte reproduzieren Allgemeine Java-Themen 2
W Objekte per Reflexion instanziieren Allgemeine Java-Themen 7
W Unittest - Objekte simulieren Allgemeine Java-Themen 7
T OOP Objekte mit Erweiterung Initialisieren Allgemeine Java-Themen 6
O Erste Schritte Objekte als Datenelemente Allgemeine Java-Themen 14
J Equals Mock Objekte Allgemeine Java-Themen 5
J Mockito - Objekte miteinander vergleichen (equals) Allgemeine Java-Themen 6
N Bei Mouse Events nicht mehrere Objekte erstellen Allgemeine Java-Themen 13
J Zugriff auf erstellte Objekte einer Klasse von einer Klasse ausserhalb Allgemeine Java-Themen 3
J Java Objekte = null, Garbagecollector Allgemeine Java-Themen 12
F Listen - Mehrere Objekte Allgemeine Java-Themen 1
J Verständnis Frage zur Instanz, Objekte, Instanzierung, Referenz Allgemeine Java-Themen 14
F Objekte erzeugen Allgemeine Java-Themen 1
E Threads ThreadPoolExecutor remove mit callable Objekte Allgemeine Java-Themen 3
P mehrer Verschiedene Objekte in einer Klasse erstellen. Allgemeine Java-Themen 4
E OOP Objekte und Methoden Allgemeine Java-Themen 1
@SupressWarnings() Umgebungsvariable Objekte "gekoppelt" Allgemeine Java-Themen 6
S Algorithmus um Objekte auf einer Flaeche mit gleichem Abstand anzuordnen..? Allgemeine Java-Themen 20
C Objekte in Array List speichern? Allgemeine Java-Themen 1
OnDemand Objekte speichern Allgemeine Java-Themen 8
B Objekte anhand von Properties file Allgemeine Java-Themen 41
U Tiefe Objekte schreiben Allgemeine Java-Themen 1
R Abstrakte Basisklasse und instanzierte Objekte der abgeleiteten Klasse als Basisklasse übergeben Allgemeine Java-Themen 2
E 3D Objekte in 2D Bild finden Allgemeine Java-Themen 5
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
OnDemand Objekte serialisieren Allgemeine Java-Themen 3
J unterschiedliche Objekte, selbe getter und setter Allgemeine Java-Themen 15
L Lib gesucht: Java-Objekte mit JSON Allgemeine Java-Themen 2
U Set erklären dass objekte gleich sind Allgemeine Java-Themen 12
E Best Practice Verdammt große Objekte Allgemeine Java-Themen 10
B Mehrere Objekte verschlüsselt serialisieren Allgemeine Java-Themen 6
G Liste anzahl der gleichen Objekte Allgemeine Java-Themen 6
N Objekte an eine andere Applikation übergeben Allgemeine Java-Themen 3
N 2 Objekte zu einer Gruppe zusammenfügen Allgemeine Java-Themen 7
M Instanzierte Objekte in XML Dokument speichern Allgemeine Java-Themen 3
B Verschiedene Objekte in Abhängigkeit eines Typs instanziieren. Allgemeine Java-Themen 17
K Input/Output Im Programm instanzierte Objekte Speichern und laden Allgemeine Java-Themen 3
S OOP Objekte als Return-Werte: Einen Klon zurückgeben oder Instanz auf das Feld? Allgemeine Java-Themen 10
H Objekte Serialisiert speichern Allgemeine Java-Themen 10
L MouseListener für viele Objekte erstellen Allgemeine Java-Themen 16
5 Objekte Sortieren lassen Allgemeine Java-Themen 7
N Objekte aus Array Inhalt erzeugen Allgemeine Java-Themen 8
L Input/Output Textdatei in Objekte überführen? Allgemeine Java-Themen 4
R Input/Output Objekte speichern ohne überschreiben Allgemeine Java-Themen 7
A Collections HashMap.containsKey findet keine immutablen Objekte Allgemeine Java-Themen 3
H Threads Thread stirbt aber Objekte in ihm leben weiter?! Allgemeine Java-Themen 9
M Java Objekte in XML mit JAXB Allgemeine Java-Themen 9
C Strings und JSON Objekte so klein wie möglich im Speicher ablegen Allgemeine Java-Themen 5
H COM-Objekte/ AktiveX Objekte Allgemeine Java-Themen 4
C Script für Website mit Objekte Ausblenden Allgemeine Java-Themen 3
M Txt einlesen & Objekte erzeugen Allgemeine Java-Themen 2
X Objekte aus TableModel serialisieren und deserialisieren Allgemeine Java-Themen 4
T ObjectInputStream - Arrayliste, die unbekannte Objekte enthält Allgemeine Java-Themen 9
B class dateien "einlesen" und objekte erzeugen Allgemeine Java-Themen 6
D Grafische Objekte zeichnen Allgemeine Java-Themen 4

Ähnliche Java Themen


Oben