Tôi đã học về giao diện Comparable
, mà một lớp phải triển khai phương thức compareTo
. Dự án tôi đang sử dụng phương pháp đó là:Chính xác thì org.apache.commons.lang.builder.CompareToBuilder làm gì?
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();
}
Điều gì exacly CompareToBuilder
làm gì ở đây? Và làm thế nào nó tương tác với các thuộc tính employee
và total
?
tôi đã đọc the javadocs, nhưng tôi không thể làm cho người đứng đầu hoặc đuôi của những gì họ đang làm với các nhà xây dựng và nhiều append
s. Câu hỏi này cho thấy ý định không rõ ràng và nghiên cứu không?
Javadoc (http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/builder/CompareToBuilder.html) không rõ ràng theo một cách nào đó? – skaffman
Không rõ ràng bằng nhiều cách. Cụ thể là cách tính số nguyên kết quả được tính hoặc cách chuỗi thứ tự gắn thêm ảnh hưởng đến giá trị trả về. –
Tôi tìm thấy bài viết này rất có nhiều thông tin - http://www.codejava.net/java-core/collections/sorting-a-list-by-multiple-attributes-example – Shatu