簡體   English   中英

在將Java泛型傳遞給Collections.sort()時需要幫助

[英]Need help in passing Java Generics to Collections.sort()

在將Java泛型列表傳遞給Collections.sort()時,我需要幫助。 這是我的代碼:

List<MyObject> orgMyObjectList = new ArrayList<MyObject>();
Collections.sort(orgMyObjectList, new Comparable<MyObject>() {

        public int compareTo(MyObject another) {
            // TODO Auto-generated method stub
            return 0;
        }
    });

但是我在Eclipse中遇到了這個編譯器錯誤:Collections類型中的sort(List,Comparator)方法不適用於參數(List,new Comparable <MyObject>(){})

你能告訴我如何解決嗎?

當您需要一個比較器時,您正在傳遞一個比較器。

正如Fredrik所說, Collections.sort()需要一個Comparator 使正確看起來像這樣:

List orgMyObjectList = new ArrayList();
    Collections.sort(orgMyObjectList, new Comparator() {
        @Override
        public int compare(MyObject o1, MyObject o2) {
            // TODO Auto-generated method stub
            return 0;
        }
    });

是的,有兩個問題。 一個是指出的:比較器vs可比(並且不要忘記等於)

另一個是使用// TODO Auto-generated method stub表明您有很多工作要做。 就是說,您需要編寫比較操作。

最好從一個非常簡單的東西開始,將這個問題引入您僅為研究此問題而編寫的測試/開發程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM