Java – 使用Collections.sort()进行排序
发布时间:2020-12-15 05:08:56 所属栏目:Java 来源:网络整理
导读:我必须编写一个方法来对整数和双打进行排序. public ArrayListNumber sortDescending(ArrayListNumber al){ ComparatorNumber c=Collections.reverSEOrder(); Collections.sort(al,c); return al;}public ArrayListNumber sortAscending(ArrayListNumber al)
我必须编写一个方法来对整数和双打进行排序.
public ArrayList<Number> sortDescending(ArrayList<Number> al){ Comparator<Number> c=Collections.reverSEOrder(); Collections.sort(al,c); return al; } public ArrayList<Number> sortAscending(ArrayList<Number> al){ Collections.sort(al); return al; } 问题是在sortAscending中,发生以下错误:
解决方法
您需要使用与可比较< T>相交的数字的通用上限:
public <T extends Number & Comparable<T>> ArrayList<T> sortDescending(ArrayList<T> al){ Comparator<T> c=Collections.reverSEOrder(); Collections.sort(al,c); return al; } public <T extends Number & Comparable<T>> ArrayList<T> sortAscending(ArrayList<T> al){ Collections.sort(al); return al; } 所有JDK编号(例如Float,Integer等)都匹配此类型. 对于没有经验的人,语法< T扩展A& B个是你将T绑定到A和B的方式. 仅供参考,没有“或”逻辑的语法(如果你考虑它也没有意义) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |