/**
* Returns a hash code for this Rational object. That hash code is
* derived from the hash codes for its two components. This design
* decision ensures that two Rational objects that are equal will have
* the same hash code.
* @return An integer hash code for this object
*/
public int hashCode() {
return new Integer(num).hashCode()^(37 * new Integer(den).hashCode());
}
1
A
Antwort
1
Die Klasse Rational
gehört nicht zum Standard-Java. Eine Google-Suche zeigt, dass es Teil einer externen Bibliothek sein könnte, aber Sie haben uns nicht gesagt, welches, wir können nicht wirklich etwas über sein Verhalten sagen.
Wenn Rational
einen Konstruktor hat, die ein einzelnes int
nimmt, würde ich erwarten, dass es einen Standard Nenner 1
bietet, so ist es durchaus sinnvoll, einen Hash-Code mit der Methode berechnen Sie zitiert.
Die Standard Integer#hashCode()
Methode gibt einfach die ganze Zahl selbst als Hash-Code, so dass die zurückgegebene Wert 0x00000001
mit 0x00000025
EXOR'ed wäre, oder 0x00000024
(36 dezimal).
Verwandte Themen
- 1. HashCode vs SHA-1
- 2. Zufällig generieren "-1" oder "1" - Kürzeste Methode
- 3. Ich erwarte 1-zu-viele aber 1-1 1-1.
- 4. Warum ist das falsch in Groovy `" $ {'1'} ". Gleich ('1')`
- 5. bestimmen Tabelle Beziehung 1 zu viele oder 1 zu 1
- 6. Objective C - Zufällige Ergebnisse ist entweder 1 oder -1
- 7. Irgendwie 1 ist nicht gleich 1 (PHP)
- 8. 1 Tisch = 1 Klasse + 1 eines von 2 abstrakter Klasse
- 9. Zwei Zahlen vergleichen und -1, 0 oder 1 zurückgeben
- 10. Warum ist (numpy.nan, 1) == (numpy.nan, 1)?
- 11. Ist diese Grammatik nicht LR (1)?
- 12. Mysql Berechnungsprobleme: 1 + 1 = 1.999999999
- 13. NodeJS - Assoziationen 1: 1
- 14. SELECT 1 = 1 funktioniert nicht
- 15. Was ist der Unterschied zwischen (1,) und (1) in Python
- 16. wo mächtiger ist, im 1 Maschine für 1 Server oder 1 Maschine für multy VM
- 17. der Code "1 \ u02ff" .IndexOf ("1") liefert -1
- 18. Warum ist 1/1/1970 die "Epoche"?
- 19. Die Verwendung von 1 == 1 oder True in While-Schleifen
- 20. Konvertieren (0,1,0, 0, 1, 1, 1) zu (0, 0, 0, 1, 0, 1, 2) in R
- 21. Was ist der Unterschied zwischen O (1) und Θ (1)?
- 22. hitTest.RowIndex ist immer -1
- 23. WCF 1 Session = 1 Thema?
- 24. "SELECT TOP 1 1" VS "IF EXISTS (SELECT 1"
- 25. Was ist der Unterschied zwischen Abschaffung/1 und Retractall/1?
- 26. Normalisieren von Daten zu [-1, 1] Bereich
- 27. Zufallszahl: 0 oder 1
- 28. Wie 0x01010101 entspricht 1 << 24 + 1 << 16 + 1 << 8 + 1
- 29. von 1
- 30. Was bedeuten 1. # INF00, -1. # IND00 und -1. # IND?