2016-05-12 4 views
-2

Kann jemand mir die Logik hinter diesem Stück Code sagen?compareTo Java - Was macht das?

public int compareTo(Holder o) { 
    if(o == null) return -1; 
    return this.value.compareTo(o.value); 
} 
+2

Nun, wie ist der Rückgabewert von 'Comparable.compareTo' dokumentiert? Wie verhält es sich mit dem, was hier vor sich geht? Welchen spezifischen Teil verstehst du nicht? –

+1

Sie müssen nur hier suchen https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html –

+3

Sie können weitere Informationen hier erhalten http://StackOverflow.com/Questions/ 10017381/compareto-method-java – AnupamBhusari

Antwort

1

Es vergleicht this gegen ein anderes Objekt o.

Wenn o null ist, dann this kleiner als o betrachtet wird (von Rückgabewert angegeben -1).

Andernfalls werden die Felder von valuethis und o werden verglichen, und das Ergebnis wird als Vergleichsergebnis zurückgegeben (-1 = kleiner, 1 = größer, 0 = gleich).

Das Grundprinzip besteht darin, eine richtige Reihenfolge von Elementen zu haben, z. um eine Liste zu sortieren.

+1

Im Klartext, ordnet es nach allem anderen "null" (mit allem anderen in seiner natürlichen Reihenfolge nach seinem '.value'). – Amadan