繁体   English   中英

如何解决此未经检查的分配警告?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM