我試圖將兩個不同物件的串列結合起來,為了簡單起見,我將它們稱為List<A>和List<B>,最后根據它們的日期值對合并的串列進行排序。我已經看到了這里的大部分答案,但它們并沒有顯示出如何正確實作這種用例的全貌。
我已經創建了一個帶有String getDate()方法的推理。這樣,我的類A和類B都實作了上述介面。
public interface CustomInterface {
字串 getDate()。
}
然后我創建了一個CustomComparator類:
public class CustomComparator implements Comparator< CustomInterface> {
@Override
public int compare(CustomInterfacet1, CustomInterface t2) {
return t1.getDate().compareTo(t2.getDate())。
}
}
我還實作了一個自定義類,它可以處理兩個給定Lists的合并和排序。
我們將稱它為Class Merge。下面是實作的方法。
public List<Object> sortedAndMergedData(List< A> a, List< B> b) {
List<Object> x= new ArrayList<>()。
x.addAll(a);
x.addAll(b);
Collections.sort(x, new CustomComprator())。
return x。
}
問題就出在這里,因為我在Collections.sort(x, new CustomComprator());
uj5u.com熱心網友回復:
將List<Object>改為List<CustomInterface> in
List<Object> x= new ArrayList<> ()。
假設你的A和B類都實作了CustomInterface
public List<CustomInterface> sortedAndMergedData(List<A> a, List<B> b){
List<CustomInterface> x= new ArrayList<>()。
x.addAll(a);
x.addAll(b);
Collections.sort(x, new CustomComprator())。
return x。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/333334.html
標籤:
