我需要使用多個屬性進行排序名單,我想這個代碼,但我得到一個編譯錯誤排序列表()編譯錯誤
package com.demo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import lombok.Data;
import lombok.extern.log4j.Log4j;
@Log4j
public class TestSort {
public static void main(String[] args) {
List<Kot> kots = new ArrayList<Kot>(){{
add(new Kot("aa",1));
add(new Kot("vv",1));
add(new Kot("zz",2));
add(new Kot("bb",3));
add(new Kot("cc",1));
}};
log.info(kots);
Collections.sort(kots);
log.info(kots);
}
}
@Data
class Kot implements Comparator<Kot> {
private String productName;
private Integer kotNo;
public Kot(){}
public Kot(String productName,Integer kotNo){
this.productName = productName;
this.kotNo = kotNo;
}
@Override
public int compare(Kot kot1, Kot kot2) {
int kotNoCompare = kot1.kotNo.compareTo(kot2.kotNo);
if (kotNoCompare == 0) {
int productNameCompare = kot1.productName.compareTo(kot2.productName);
return productNameCompare;
}
return kotNoCompare;
}
}
錯誤顯示在下面的行
Collections.sort(kots);
錯誤說,
界不匹配:類型類別的一般方法排序(列表)是不是一個適用於參數(List)。推斷類型Kot不是有界參數的有效替代>
我在做什麼錯了?
謝謝@Sachin這是一個明確的答案 –