Hallo Leute,
Nach stundenlangem Beschäftigen mit dem Thema hashCode bin ich immernoch nicht ganz sicher, ob ich manche Dinge richtig interpretiere.
Wenn ich 2 Objekte einer Klasse erzeuge und die Instanzvariablen in beiden Objekten auf exakt dieselben Werte setze, dann sind die Objekte für mich inhaltlich identisch.
Folgenden Code habe ich eben mal kurz gekritzelt:
Frage:
Ist es korrekt, dass ich hier für die beiden Objekte o1 und o2 unterschiedliche Hashcodes erhalte?! Die Objekte sind inhaltlich gleich, aber erzeugen unterschiedliche Hashcodes. Wird der Hashcode dann abhängig vom Speicherort erzeugt, oder wie läuft die Kiste?
Bin grad leider etwas verwirrt ???:L
Wäre super, wenn ihr etwas Licht ins Dunkel bringen könntet.
Besten Dank!
Seb
Nach stundenlangem Beschäftigen mit dem Thema hashCode bin ich immernoch nicht ganz sicher, ob ich manche Dinge richtig interpretiere.
Wenn ich 2 Objekte einer Klasse erzeuge und die Instanzvariablen in beiden Objekten auf exakt dieselben Werte setze, dann sind die Objekte für mich inhaltlich identisch.
Folgenden Code habe ich eben mal kurz gekritzelt:
Java:
public class ObjekteTest2 {
String titel;
int laenge;
public static void main(String[] args) {
ObjekteTest o1 = new ObjekteTest();
o1.setTitel("hallo");
o1.setLaenge(23);
ObjekteTest o2 = new ObjekteTest();
o2.setTitel("hallo");
o2.setLaenge(23);
ObjekteTest o3 = o2;
System.out.println(o1.titel + " " + o1.laenge + " " + o1.hashCode() + " " + o2.titel + " " +
o2.laenge + " " + o2.hashCode() + " " + o3.titel + " " + o3.laenge + " " + o3.hashCode());
} // End main
public void setTitel(String s) {
titel = s;
}
public void setLaenge(int zahl) {
laenge = zahl;
}
} // End class
Frage:
Ist es korrekt, dass ich hier für die beiden Objekte o1 und o2 unterschiedliche Hashcodes erhalte?! Die Objekte sind inhaltlich gleich, aber erzeugen unterschiedliche Hashcodes. Wird der Hashcode dann abhängig vom Speicherort erzeugt, oder wie läuft die Kiste?
Bin grad leider etwas verwirrt ???:L
Wäre super, wenn ihr etwas Licht ins Dunkel bringen könntet.
Besten Dank!
Seb