java.lang.NullPointerException public static List<OrderAbnormalRecordResultBase> convertOrderListIntoResultList(List<OrderBasicInfoDB> list) { List<OrderAbnormalRecordResultBase> ret = new ArrayList<OrderAbnormalRecordResultBase>(); if (list !=null && list.size()>0){ for (OrderBasicInfoDB record: list){ OrderAbnormalRecordResultDispatchAcceptTimeOut t = new OrderAbnormalRecordResultDispatchAcceptTimeOut(); t.setAbnormalRecordType(OrderAbnormalRecordListParam.ABNORMAL_RECORD_TYPE_DISPATCHED_ORDER_ACCEPT_TIME_OUT); t.setId(record.getId()); t.setOrder_no(record.getOrder_no()); t.setOrder_type(record.getOrder_type()); t.setPpl_id(record.getPpl_detail_info().getId()); t.setPpl_name(record.getPpl_name()!=null?record.getPpl_name(): record.getPpl_detail_info().getPpl_name()); t.setContact_phone(record.getContact_phone()); t.setProduct_name(record.getProduct_name()); t.setProduct_id(record.getProduct_id()==null?0: record.getProduct_id()); t.setCreate_time(DateUtil.convertTimeByFormat(record.getCreate_time(), OrderBasicInfoDB.DATE_TIME_FORMAT)); t.setService_personnel_id(record.getService_personnel_id().getId()); t.setService_personnel_name(record.getService_personnel_name()); t.setStaff_tel(record.getService_personnel_id().getPpl_tel()); t.setAmount(record.getAmount()); t.setService_plan_time(DateUtil.convertTimeByFormat(record.getService_plan_time(), OrderBasicInfoDB.DATE_TIME_FORMAT)); t.setDispatch_time(DateUtil.convertTimeByFormat(record.getDispatch_time(), OrderBasicInfoDB.DATE_TIME_FORMAT)); t.setOrder_final_status(record.getOrder_final_status()); ret.add(t); } } return ret; }
时间: 2024-04-11 22:26:02 浏览: 80
java 出现NullPointerException的原因及解决办法
在这段代码中,出现`java.lang.NullPointerException`的原因可能是以下几种情况之一:
1. `list`参数为空。在使用`list`之前,应该先判断其是否为空,可以添加如下代码进行判断:
```java
if (list == null) {
return ret; // 或者抛出异常,具体根据需求来决定
}
```
2. `record`对象中的某个属性为`null`,而在设置属性值时未进行判空处理。可以在设置属性值之前,先进行判断是否为`null`,例如:
```java
t.setPpl_name(record.getPpl_name() != null ? record.getPpl_name() : record.getPpl_detail_info().getPpl_name());
```
类似地,对于其他可能为`null`的属性,都需要进行类似的判空处理。
根据具体的异常信息和代码逻辑,可以进一步分析并排查导致`NullPointerException`异常的具体原因,并进行相应的修复。
阅读全文