Hi zusammen
Habe bis jetzt nur immer als Gast gelesen, jetzt habe ich selbst mal eine Frage.
Ich implementiere gerade eine eigene GameLobby, und jetzt ist mir aufgefallen, dass mir beim Storen der einzelnen GameRooms ein Fehler unterlaufen ist.
Und zwar habe ich als Key einen String verwendet und als Value mein eigener GameRoom.
Jetzt habe ich festgestellt, dass, obwohl ich den selben Key aus Copy-Past verwendet habe, beim Beitreten in einen vorhandenen GameRoom einene Fehler gibt, nämlich, dass die GameID nicht übereinstimmt.
Ich habe auch schon eine Vermutung.. Und hoffe deshalb, dass Ihr mir einen einfacheren Weg zeigen könnt. Ich vermute, dass die HashMap den Key mit == überprüft, was zur Folge hat, dass nicht beide String-Objekte gleich sind. Denn wenn ich mir die ganze Map ausgebe und diese dann in einem TestProgramm mit equals vergleiche, dann ist alles zu 100% true. Was ich aber dann komisch finde ist, dass ich in ca. 80% der Tests durch komme, nur in 20% nicht. Wieso ist das so?
Danke schon mal im Voraus für eure Hilfe.
Habe bis jetzt nur immer als Gast gelesen, jetzt habe ich selbst mal eine Frage.
Ich implementiere gerade eine eigene GameLobby, und jetzt ist mir aufgefallen, dass mir beim Storen der einzelnen GameRooms ein Fehler unterlaufen ist.
Und zwar habe ich als Key einen String verwendet und als Value mein eigener GameRoom.
Java:
private Map<String, GameRoom> gameRooms;
Jetzt habe ich festgestellt, dass, obwohl ich den selben Key aus Copy-Past verwendet habe, beim Beitreten in einen vorhandenen GameRoom einene Fehler gibt, nämlich, dass die GameID nicht übereinstimmt.
Ich habe auch schon eine Vermutung.. Und hoffe deshalb, dass Ihr mir einen einfacheren Weg zeigen könnt. Ich vermute, dass die HashMap den Key mit == überprüft, was zur Folge hat, dass nicht beide String-Objekte gleich sind. Denn wenn ich mir die ganze Map ausgebe und diese dann in einem TestProgramm mit equals vergleiche, dann ist alles zu 100% true. Was ich aber dann komisch finde ist, dass ich in ca. 80% der Tests durch komme, nur in 20% nicht. Wieso ist das so?
Danke schon mal im Voraus für eure Hilfe.
Zuletzt bearbeitet von einem Moderator: