实际开发中经常会遇到判空需求的处理,通常我们可以采用if判断的形式:
ArrayList<String> nullAbleList = demoService.getList();
if(CollectionUtils.isEmpty(nullAbleList )){//new 一个ArrayList,避免下面业务逻辑空指针异常nullAbleList = new ArrayList();//或者直接抛出异常提示throw new RuntimeExcepton();
}
可以使用Optional链式的处理空值的可能:
//new 一个ArrayList,避免下面业务逻辑空指针异常
ArrayList<String> nullAbleList =Optional.ofNullable(demoService.getList()).orElseGet(ArrayList::new);
//或者直接抛出异常提示
ArrayList<String> nullAbleList =Optional.ofNullable(demoService.getList()).orElseThrow(()->new RuntimeExcepton());
//替换为另一个list,避免下面业务逻辑空指针异常
ArrayList<String> ortherList = new ArrayList<>();
ArrayList<String> nullAbleList =Optional.ofNullable(demoService.getList()).orElse(ortherList);