您好,如图中关于java arraylist排序的一个问题?

为什么这里用Collections的sort功能不能排序??
题目是用泛型将拥有任意类型的数值的集合进行排序


摇曳的蔷薇
浏览 241回答 2
2回答

LEATH

只有实现Comparable接口的类才能实现排序功能,Number并无实现此接口,但是基本上Number的大多数子类都有实现此接口。不过你可以试试下面的方法,有点麻烦,不过应该可以public&nbsp;static&nbsp;<T&nbsp;extends&nbsp;Number>&nbsp;void&nbsp;ascending(List<T>&nbsp;list)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;Collections.sort(list,&nbsp;new&nbsp;Comparator<T>()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;int&nbsp;compare(T&nbsp;o1,&nbsp;T&nbsp;o2)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double&nbsp;d1&nbsp;=&nbsp;o1.doubleValue();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double&nbsp;d2&nbsp;=&nbsp;o2.doubleValue();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;d1&nbsp;==&nbsp;d2&nbsp;?&nbsp;0&nbsp;:&nbsp;(d1&nbsp;>&nbsp;d2&nbsp;?&nbsp;1&nbsp;:&nbsp;-1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;});}
打开App,查看更多内容
随时随地看视频慕课网APP