2012-08-13 94 views
5

我試圖使用ComparisonChain在類中實現compareTo(),但該類包含一個List,並且compare()不接受它們,因爲List沒有實現Comparable。關於如何使這項工作的任何想法?番石榴比較鏈列表?

子集的代碼看起來是這樣的:

public class User() { 
    String name; 
    List<String> emails; 

    ... 

    public int compareTo(User that) { 
    return ComparisonChain().start() 
          .compare(this.name, that.name) 
          .compare(this.emails, that.emails) // Fails on this line 
          .result(); 
    } 
} 

回答

12
ComparisonChain.start() 
    .compare(this.name, that.name) 
    .compare(this.emails, that.emails, 
     Ordering.<String>natural().lexicographical()) 
    .result(); 
+0

啊哈,我錯過了parmameterization信息時,我試過了。現在一切正常,謝謝! – jgm 2012-08-13 20:55:14