Java 对自定义对象列表排序时出现NullPointerException
我想根据字段对自定义列表进行排序。我的列表有大约125条记录,因为它是静态的Java 对自定义对象列表排序时出现NullPointerException,java,android,arraylist,Java,Android,Arraylist,我想根据字段对自定义列表进行排序。我的列表有大约125条记录,因为它是静态的 Collections.sort(receivedSOSModelArrayList, new Comparator<ReceivedSOSModel>() { @Override public int compare(ReceivedSOSModel receivedSOSModel, ReceivedSOSModel t1) { return receivedSOSMod
Collections.sort(receivedSOSModelArrayList, new Comparator<ReceivedSOSModel>() {
@Override
public int compare(ReceivedSOSModel receivedSOSModel, ReceivedSOSModel t1) {
return receivedSOSModel.getReceivedSOSFrom().compareTo(t1.getReceivedSOSFrom());
}
});
在比较之前添加空检查:
Collections.sort(receivedSOSModelArrayList, new Comparator<ReceivedSOSModel>() {
@Override
public int compare(ReceivedSOSModel receivedSOSModel, ReceivedSOSModel t1) {
if (receivedSOSModel == null || receivedSOSModel.getReceivedSOSFrom() == null) {
Log.v("first", "NULL");
return -1; //null values will be displayed at bottom in sorted list
}
if (t1 == null || t1.getReceivedSOSFrom() == null ) {
Log.v("second", "NULL");
return 1; //null values will be displayed at bottom in sorted list
}
return receivedSOSModel.getReceivedSOSFrom().compareTo(t1.getReceivedSOSFrom());
}
});
Collections.sort(receivedSOSModelArrayList,newcomparator(){
@凌驾
公共int比较(ReceivedSOSModel ReceivedSOSModel,ReceivedSOSModel t1){
if(receivedSOSModel==null | | receivedSOSModel.getReceivedSOSFrom()==null){
Log.v(“第一个”、“空”);
return-1;//空值将显示在排序列表的底部
}
if(t1==null | | t1.getReceivedSOSFrom()==null){
Log.v(“第二个”、“空”);
返回1;//空值将显示在排序列表的底部
}
返回receivedSOSModel.getReceivedSOSFrom().compareTo(t1.getReceivedSOSFrom());
}
});
确保列表中的所有元素都不是空的是,它们不是空的。选中我的错误谢谢列表元素可能不为null,但元素。GetReceivedSoFrom()
至少用于其中一个元素。是的,它们不为null。检查我的错误谢谢
Collections.sort(receivedSOSModelArrayList, new Comparator<ReceivedSOSModel>() {
@Override
public int compare(ReceivedSOSModel receivedSOSModel, ReceivedSOSModel t1) {
if (receivedSOSModel == null || receivedSOSModel.getReceivedSOSFrom() == null) {
Log.v("first", "NULL");
return -1; //null values will be displayed at bottom in sorted list
}
if (t1 == null || t1.getReceivedSOSFrom() == null ) {
Log.v("second", "NULL");
return 1; //null values will be displayed at bottom in sorted list
}
return receivedSOSModel.getReceivedSOSFrom().compareTo(t1.getReceivedSOSFrom());
}
});