[英]How can I fix this unchecked assignment warning?
我有一个比较器 class 用于 generics:
public class SortDescending<T extends Comparable<T>> implements Comparator<T> {
@Override
public int compare(T a, T b) {
return -(a.compareTo(b));
}
}
然后我使用这个比较器在我的 dataframe 中对特定的 label 进行排序:
private int rows, labels;
private Map<Object, List<Object>> frameInfo;
private ArrayList<Object> header;
@Override
public List<Object> sort(String column, Comparator comp) {
try{
List<Object> ref = new LinkedList<>(frameInfo.get(column));
ref.sort(comp); //Sorting
return ref;
}catch (Exception e){
return null;
}
}
这就是我初始化一切的方式:
JSONFactory fac = new JSONFactory();
IDataFrame df = fac.createDataFrame("cities.json", null);
System.out.println(df.sort("LonM", new SortDescending()));
我最终在ref.sort(comp);收到警告。 //排序线。
未经检查的分配:'java.util.Comparator' 到 'java.util.Comparator<? 超级 java.lang.Object>'
我无法抑制这个警告,我真的不明白它是什么意思,任何帮助都会受到赞赏。
首先更新一个方法声明:
public static List<Object> sort(String column, Comparator<Object> comp) {}
其次,当你调用它时,不要忘记钻石:
sort("LonM", new SortDescending<>());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.