Dowiedziałem się o interfejsie Comparable
, dla którego klasa musi implementować metodę compareTo
. Projekt Używam tej metody jak:Co dokładnie robi program org.apache.commons.lang.builder.CompareToBuilder?
public class EmployeeAssignmentTotal implements Comparable<EmployeeAssignmentTotal>, Serializable {
private Employee employee;
private int total;
....
public int compareTo(EmployeeAssignmentTotal other) {
return new CompareToBuilder()
.append(employee, other.employee)
.append(total, other.total)
.toComparison();
}
Co exacly ma CompareToBuilder
zrobić tutaj? A jak się wchodzi w interakcję z atrybutami employee
i total
?
Czytałem the javadocs, ale nie mogę zrobić głowę lub ogon, co robią z konstruktora i wielu append
ów. Czy to pytanie wskazuje na niejasne intencje i zero badań?
Czy Javadoc (http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/builder/CompareToBuilder.html) jest w jakiś sposób niejasny? – skaffman
Jest niejasny na wiele sposobów. W szczególności, w jaki sposób obliczana jest wynikowa liczba całkowita lub w jaki sposób sekwencja dodatków wpływa na wartość zwracaną. –
Znalazłem ten bardzo pouczający post - http://www.codejava.net/java-core/collections/sorting-a-list-by-multiple-attributes-example – Shatu