2016-05-12 4 views
-2

Может ли кто-нибудь сказать мне логику этой части кода?compareTo Java - Что это такое?

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

Ну, как отражено обратное значение 'Comparable.compareTo'? Как это связано с тем, что здесь происходит? Какую конкретную часть вы не понимаете? –

+1

Вам просто нужно посмотреть здесь https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html –

+3

Вы можете получить более подробную информацию здесь http://stackoverflow.com/questions/ 10017381/compareto-method-java – AnupamBhusari

ответ

1

Он сравнивает this против другого объекта o.

Если o равна нулю, то считается this меньше, чем o (указано возвращаемое значение -1).

В противном случае поля value из this и o сравниваются, и результат возвращается как результат сравнения (= -1 меньше, 1 = больше, 0 = равного).

Обоснование заключается в правильном упорядочении элементов, например. для сортировки списка.

+1

Говоря простыми словами, он заказывает «нуль» после всего остального (со всем остальным в натуральном порядке в соответствии с его '.value'). – Amadan