为什么这里用Collections的sort功能不能排序??题目是用泛型将拥有任意类型的数值的集合进行排序
2 回答
LEATH
TA贡献1936条经验 获得超6个赞
只有实现Comparable接口的类才能实现排序功能,Number并无实现此接口,但是基本上Number的大多数子类都有实现此接口。不过你可以试试下面的方法,有点麻烦,不过应该可以
public
static
<T
extends
Number>
void
ascending(List<T> list) {
Collections.sort(list,
new
Comparator<T>() {
@Override
public
int
compare(T o1, T o2) {
double
d1 = o1.doubleValue();
double
d2 = o2.doubleValue();
return
d1 == d2 ?
0
: (d1 > d2 ?
1
: -
1
);
}
});
}
添加回答
举报
0/150
提交
取消