Wie soll ich in hashCode () lange auf int abbilden?
Ich habe eine Reihe von Objekten mit einemlong
-Feld, dessen Wert ein bestimmtes Objekt in meinem gesamten System eindeutig identifiziert, ähnlich wie eine GUID. Ich habe @ überschriebObject.equals()
, um diese ID zum Vergleich zu verwenden, da ich möchte, dass sie mit Kopien des Objekts funktioniert. Jetzt möchte ich @ überschreibObject.hashCode()
auch, was im Grunde bedeutet, Mapping mylong
für manchenint
Rückgabewert
Wenn ich den Zweck von @ verstanden hahashCode
Richtig, es wird hauptsächlich in Hash-Tabellen verwendet, daher wäre eine gleichmäßige Verteilung wünschenswert. Das würde bedeuten, einfach @ zurückzugebid % 2^32
würde genügen. Ist das alles, oder sollte ich etwas anderes beachten?