📄 comparators.java
字号:
/**
*
*/
package com.intohotel.util;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Comparator;
import java.util.Date;
import com.intohotel.entity.CustomItem;
import com.intohotel.entity.DayPrice;
import com.intohotel.entity.HotelRoom;
import com.intohotel.entity.OrderOprRecord;
import com.intohotel.entity.TicketPrice;
/**
* @author mler
*
*/
public class Comparators{
// 房间价格排序 冲低到高排序
@SuppressWarnings("unchecked")
public static class PriceComparator implements Comparator {
public int compare(Object element1,Object element2) {
HotelRoom room1 = null,room2 = null;
if(element1 instanceof CustomItem) room1 = (HotelRoom)element1;
if(element2 instanceof CustomItem) room2 = (HotelRoom)element2;
BigDecimal p1 = null,p2=null;
if(room1 != null && room1.getDayPrices() != null && !room1.getDayPrices().isEmpty())
p1 = new BigDecimal(((DayPrice)room1.getDayPrices().iterator().next()).getDayPrice());
if(room2 != null && room2.getDayPrices() != null && !room2.getDayPrices().isEmpty())
p2 = new BigDecimal(((DayPrice)room2.getDayPrices().iterator().next()).getDayPrice());
if(p1 == null && p2 == null)
return 0;
else if(p1 != null && p2 == null)
return -1;
else if(p1 == null && p2 != null)
return 1;
else
return p1.compareTo(p2);
}
}
// customItem乘客类型排序
@SuppressWarnings("unchecked")
public static class TagComparator implements Comparator {
public int compare(Object element1,Object element2) {
if(element1 instanceof CustomItem && element2 instanceof CustomItem){
// CustomItem item1 = (CustomItem)element1;
// CustomItem item2 = (CustomItem)element2;
return 0;
}else{
return 0;
}
}
}
// TicketPrice排序
@SuppressWarnings("unchecked")
public static class TicketPriceComparator implements Comparator {
public int compare(Object element1,Object element2) {
if(element1 instanceof TicketPrice && element2 instanceof TicketPrice){
TicketPrice item1 = (TicketPrice)element1;
TicketPrice item2 = (TicketPrice)element2;
return item1.getTicketPriceId().compareTo(item2.getTicketPriceId());
}
return 0;
}
}
// yyyy-MM-dd进行日期排序
@SuppressWarnings("unchecked")
public static class DateComparator implements Comparator {
public int compare(Object element1,Object element2) {
if(element1 == null)
return -1;
if(element2 == null)
return 1;
SimpleDateFormat ymd = new SimpleDateFormat("yyyy-MM-dd");
if(element1 instanceof Date && element2 instanceof Date){
Date item1, item2;
try {
item1 = ymd.parse(ymd.format((Date)element1));
item2 = ymd.parse(ymd.format((Date)element2));
return item1.compareTo(item2);
} catch (ParseException e) {
e.printStackTrace();
}
}else{
return 0;
}
return 0;
}
}
//操作记录明细按起始时间排序
@SuppressWarnings("unchecked")
public static class StartDateComparator implements Comparator {
public int compare(Object element1,Object element2) {
if(element1 == null)
return -1;
if(element2 == null)
return 1;
if(element1 instanceof OrderOprRecord && element2 instanceof OrderOprRecord){
// OrderOprRecord item1 = (OrderOprRecord)element1, item2 = (OrderOprRecord)element2;
// return item1.getStartTime().compareTo(item2.getStartTime());
return 0;
}else{
return 0;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -