【发布时间】:2021-11-10 12:51:43
【问题描述】:
输入 --> "123","01","123A","728R","1234" 输出应为 01,123,123A,728R,1234
我尝试了以下但没有给出预期的 OP。
public int compare(SO o1, SO o2) {
if(o1.getnumber() != null && o2.getnumber()!=null) {
if (NumberUtils.isNumber(o1.getnumber()) &&
NumberUtils.isNumber(o2.v())) {
Long val1 = Long.valueOf(o1.getnumber());
Long val2 = Long.valueOf(o2.getnumber());
if ("asc".equals(searchSO.getSortOrder())) {
return (val1.compareTo(val2));
} else if ("desc".equals(searchSO.getSortOrder())) {
return (val2.compareTo(val1));
}
}
else{
if ("asc".equals(searchSO.getSortOrder())) {
return (o1.getnumber().compareTo(o2.getnumber()));
} else if ("desc".equals(searchSO.getSortOrder())) {
return (o2.getnumber().compareTo(o1.getnumber()));
}
}
}
return 0;
}
【问题讨论】:
-
这个getNumber()返回什么,v()返回什么?这个 searchSO 是从哪里来的?这里的实际输出是什么?
标签: java alphanumeric columnsorting