Vorab : allen ein gutes Neues Jahr 2021 !
Ich habe einen schwierigen Fall. Ich habe innerhalb eines komplexen Programmes ein scheinbares Fehlverhalten isoliert.
Es gibt eine Hashmap mit Integer-Paare.
Irgendwann im Code, will ich 2 Values dieser Hashmap vergleichen (z.B. für Key 124 und 148).
Tue ich dies direkt wie folgt:
kriege ich folgende Konsolen-Ausgaben:
Zeile 3 überrascht mich doch sehr !
Mache ich es indirekt über Hilfsvariablen,
funktioniert es einwandfrei:
PS: es läuft meines Wissens kein anderer Thread welcher die Hashmap während der Ausgabe verändern könnte.
Ich beisse hier etwas auf Granit und wäre dankbar für Denkanstösse.
Ich habe einen schwierigen Fall. Ich habe innerhalb eines komplexen Programmes ein scheinbares Fehlverhalten isoliert.
Es gibt eine Hashmap mit Integer-Paare.
Java:
private HashMap<Integer, Integer> tourZugehörigkeit;
Irgendwann im Code, will ich 2 Values dieser Hashmap vergleichen (z.B. für Key 124 und 148).
Tue ich dies direkt wie folgt:
Java:
System.out.println("tourZugehörigkeit.get(124)=" + tourZugehörigkeit.get(124));
System.out.println("tourZugehörigkeit.get(148)=" + tourZugehörigkeit.get(148));
System.out.println("tourZugehörigkeit.get(124)==tourZugehörigkeit.get(148): " + (tourZugehörigkeit.get(124)==tourZugehörigkeit.get(148)));
System.out.println("tourZugehörigkeit.get(124)-tourZugehörigkeit.get(148): " + (tourZugehörigkeit.get(124)-tourZugehörigkeit.get(148)));
kriege ich folgende Konsolen-Ausgaben:
Java:
tourZugehörigkeit.get(124)=146
tourZugehörigkeit.get(148)=146
tourZugehörigkeit.get(124)==tourZugehörigkeit.get(148): false
tourZugehörigkeit.get(124)-tourZugehörigkeit.get(148): 0
Zeile 3 überrascht mich doch sehr !
Mache ich es indirekt über Hilfsvariablen,
Java:
int ai = tourZugehörigkeit.get(124);
int aj = tourZugehörigkeit.get(148);
System.out.println("ai=" + ai);
System.out.println("aj=" + aj);
System.out.println("ai==aj: " + (ai==aj));
System.out.println("ai-aj:" + (ai-aj));
funktioniert es einwandfrei:
Java:
ai=146
aj=146
ai==aj: true
ai-aj:0
PS: es läuft meines Wissens kein anderer Thread welcher die Hashmap während der Ausgabe verändern könnte.
Ich beisse hier etwas auf Granit und wäre dankbar für Denkanstösse.