【发布时间】:2017-09-22 10:53:09
【问题描述】:
我有一个 Java 类 SalesDataJson,如下所示。不同的状态值是“READY”、“PICKED”和“PACKED”。
SalesDataJson.java
public class SalesDataJson {
private Long salesOrderNumber;
private String status;
}
现在我想按状态“READY”、“PICKED”和“PACKED”的顺序订购“SalesDataJson”对象。谁能帮我解决这个问题。
我已经完成了下面的代码,但它不起作用:-
public void sort(){
Collections.sort(salesDataJsons, new Comparator<SalesDataJson>() {
@Override
public int compare(SalesDataJson o1, SalesDataJson o2) {
if (o1.getStatus() == PackagingStatus.RTW && o2.getStatus() == PackagingStatus.PICKED)
return -1;
else if (o1.getStatus() == PackagingStatus.PICKED && o2.getStatus() == PackagingStatus.RTW)
return 1;
else if (o1.getStatus() == PackagingStatus.RTW && o2.getStatus() == PackagingStatus.PACKED)
return -1;
else if (o1.getStatus() == PackagingStatus.PACKED && o2.getStatus() == PackagingStatus.RTW)
return 1;
else if (o1.getStatus() == PackagingStatus.PICKED && o2.getStatus() == PackagingStatus.PACKED)
return -1;
else if (o1.getStatus() == PackagingStatus.PACKED && o2.getStatus() == PackagingStatus.PICKED)
return 1;
return 0;
}
});
}
【问题讨论】: