5

customername私の要件は、顧客タイプのBeanのリストを、そのBeanのプロパティに従ってソートすることです...私が使用したのは、フィールドがないbeancomparator場合でも正常に機能していることです。フィールドが..私を助けてください..のときに投げています。customernamenullNullPointerExceptionnull

私のコードは

public class customer{
private String customername;
}

main()
{
list<customer> list=new arraylist();
//list is filled with customertype beans
comparator<customer> comp=new beancomparator(customername);
collections.sort(list,comp);//throwing error when customername is null...
}
4

2 に答える 2

14

私はこのように使用します:

    Comparator<Customer> comparator = new BeanComparator(customername, new NullComparator(false));
    if (descentSort){
        comparator = new ReverseComparator(comparator);
    }
    Collections.sort(list, comparator);

IMOそれは簡単な方法です:)

于 2013-07-01T14:19:16.477 に答える
2

ヌルチェックの場合を処理しますComparator

new Comparator<Customer>() {

public int compare(Customer o1, Customer o2) {
    if(o1.getName() == null){ return -1;}

    if(o2.getName() == null){ return 1;}
    return o1.getName().compareTo(o2.getName());
}
}
于 2013-01-28T18:04:53.583 に答える