package com.sogouchat.util; import java.util.Comparator; import com.sogouchat.bean.MsgNode; import com.sogouchat.bean.TelNode; public class ListUtil { public static class SortByTelPinyin implements Comparator<Object> { public int compare(Object o1, Object o2) { TelNode item1 = (TelNode) o1; TelNode item2 = (TelNode) o2; boolean item1Null; boolean item2Null; int result=0; if (item1.mPinyin == null || item1.mPinyin.length() == 0 ) { item1Null = true; } else { item1Null = false; } if (item2.mPinyin == null || item2.mPinyin.length() == 0) { item2Null = true; } else { item2Null = false; } if (item1Null && !item2Null) { result =-1; } else if (item2Null && !item1Null) { result =1; } else if (item1Null && item2Null) { result =0; } else { if (item1.mPinyin.charAt(0) > item2.mPinyin.charAt(0)){ result= 1; } else if (item1.mPinyin.charAt(0) < item2.mPinyin.charAt(0)){ result= -1; } else { result = 0; } } return result; } } public static class SortByMsgDate implements Comparator<Object> { public int compare(Object o1, Object o2) { MsgNode item1 = (MsgNode) o1; MsgNode item2 = (MsgNode) o2; if (item1 == null){ return -1; } else if (item2 == null){ return 1; } if (item1.mDate > item2.mDate) return 1; else if (item1.mDate < item2.mDate) return -1; else return 0; } } }