2012-08-13 15 views
5

मैं तुलना में() में एक वर्ग में तुलना करने के लिए तुलनात्मकन का उपयोग करने का प्रयास कर रहा हूं, हालांकि कक्षा में एक सूची है और तुलना() उन्हें स्वीकार नहीं करती है क्योंकि सूची तुलनात्मक नहीं है। इस काम को कैसे बनाया जाए इस पर कोई विचार?अमरूद तुलना Chain Wtih सूची?

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

संबंधित मुद्दे