Grundlegende Verständnisfrage Hasmap Referenzen

  • Themenstarter Themenstarter Lec12
  • Beginndatum Beginndatum
L

Lec12

Gast
Hallo,

ich habe eine eine abstrakte Klasse A, von der werden Klassen B und C abgeleitet.
Jetzt hab ich eine HashMap vom typ <Integer, A>. Darei will ich int und B,C abspeichern.
Speichere ich nun Referenzen auf Objekte von B,C ? Und was speichere ich bei Integer ?

alle Gute

Lec12
 
Speichere ich nun Referenzen auf Objekte von B,C ? Und was speichere ich bei Integer ?
ja, du hälst nur die Referenz auf die Objekte... ebenso bei Integer... aber bei Integer muss man ein bisschen aufpassen, da die intern bis ich glaub 128 gecached werden.. Es kann sein, dass man zwei unterschiedliche Integer Objekte hat, die aber als gleiches Objekt zählen...
 
tricky ;-)


Java:
Integer a1 = 20;
Integer a2 = 20;

Integer b1 = 2000;
Integer b2 = 2000;
System.out.println(a1==a2);
System.out.println(b1==b2);
 
Ich hab' auch die Frage nicht ganz kapiert - auch bei Integer speichert man nur Referenzen (was sonst, es gibt in java nichts nicht-primitives, was keine Referenz ist), und da Integer sowohl equals als auch hashCode richtig implementiert, und eine HashMap keine == Vergleiche macht, sollte es da kein Problem geben... :bahnhof:
 

Zurück
Oben