2012-08-13 37 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