【发布时间】:2020-10-25 20:41:01
【问题描述】:
我有以下对象:
public class Processitems{
private String priority;
private Date date;
private Integer status;
}
public class OrderItems {
private String orderItem1;
private String orderItem2;
}
orderItem1, orderItem2 是“优先级”或“日期”或“状态”
现在我必须按照 OrderItems 的条件对List<ProcessItem> 进行排序。我的意思是如果 orderItem1 = "priority" 然后按优先级对 List<ProcessItem> 进行排序,如果 orderItem = "date" 然后按日期对 List 进行排序,...如果按 orderItem1 排序不可用,则按 orderItem2 排序。我怎么能用Comperator.comparing(orderItem1).thencomparing(orderItem2)?
【问题讨论】:
-
你可以使用 Comparator 。检查这个geeksforgeeks.org/comparable-vs-comparator-in-java
-
“如果按 orderItem1 排序不可用,则按 orderItem2 排序”是什么意思?什么情况下“按orderItem1排序”不可用?
-
@Joni 如果 orderItem1 为空,则使用 orderItem2。
-
@Joni :例如:orderItem1 = "priority" 并且优先级有两个值:HIGH 和 NORMAL,并且 List
的所有优先级都是 HIGH ,在这种情况下我需要按 orderItem2 排序 -
好的,那么我的答案应该对你有用
标签: java arrays list sorting compare