一个list有两种类型的对象,今天有需求必须责令不同的约会对象,这里是代码
/**
*@author [email protected]
*/
List<Message> messages=messageSrv.getList(u.getUserId());
List<Object> messageList=new ArrayList<Object>();
for(Object o:messages){
messageList.add(o);
}
for(Object o:checks){
messageList.add(o);
}
Collections.sort(messageList, new Comparator(){
public int compare(Object o1, Object o2) {
if(o1 instanceof Message && o2 instanceof Message){
Message m=(Message) o1;
Message m2=(Message) o2;
if(m.getMessageDate().after(m2.getMessageDate()))
return 1;
if(m.getMessageDate().equals(m2.getMessageDate()))
return 0;
if(m.getMessageDate().before(m2.getMessageDate()))
return -1;
}else if(o1 instanceof CheckRecord && o2 instanceof Message){
CheckRecord m=(CheckRecord) o1;
Message m2=(Message) o2;
if(m.getCdate().after(m2.getMessageDate()))
return 1;
if(m.getCdate().equals(m2.getMessageDate()))
return 0;
if(m.getCdate().before(m2.getMessageDate()))
return -1;
}else if(o1 instanceof CheckRecord && o2 instanceof CheckRecord){
CheckRecord m=(CheckRecord) o1;
CheckRecord m2=(CheckRecord) o2;
if(m.getCdate().after(m2.getCdate()))
return 1;
if(m.getCdate().equals(m2.getCdate()))
return 0;
if(m.getCdate().before(m2.getCdate()))
return -1;
}else if(o1 instanceof Message && o2 instanceof CheckRecord){
Message m=(Message) o1;
CheckRecord m2=(CheckRecord) o2;
if(m.getMessageDate().after(m2.getCdate()))
return 1;
if(m.getMessageDate().equals(m2.getCdate()))
return 0;
if(m.getMessageDate().before(m2.getCdate()))
return -1;
}
return 0;
}
写个日志不easy。转载请注明资源:http://blog.csdn.net/xh199110 谢谢
版权声明:本文博客原创文章,博客,未经同意,不得转载。