Optional
程序员文章站
2022-03-04 11:38:05
...
解决Java中空指针异常的问题(NPE NnullPointerException)
代码示例:
public class MyTest10 {
public static void main(String[] args) {
Employee emp1 = new Employee("zhangsan");
Employee emp2 = new Employee("wangwu");
Company company = new Company("cmzy", Arrays.asList(emp1,emp2));
//创建一个Option,可为空也可不为空
Optional<List<Employee>> optional = Optional.ofNullable(company.getEmpList());
//如果optional中的list不为空,则打印出list中的每个元素
optional.ifPresent(list -> {
list.forEach(employee -> System.out.println(employee.getName()));
});
//如果optional中list不为空则返回list,如果为空,则返回 ()-> Arrays.asList(emp1,emp2) Supplier中创建的list
List<Employee> empList = optional.orElseGet(()-> Arrays.asList(emp1,emp2));
empList.forEach(employee -> System.out.println(employee.getName()));
Optional<Company> companyOptional = Optional.ofNullable(company);
//optional中map方法接受一个Function函数式接口,并且返回一个Optional,下面代码意思将companyOptional中的value作为Function中apply的参数传入,返回company.getEmpList()
//同时返回的参数作为参数 Optional.ofNullable(mapper.apply(value)),创建一个新的option,如果创建的optional是空,则返回Collections.EMPTY_LIST
companyOptional.map(theCompany -> theCompany.getEmpList()).orElse(Collections.EMPTY_LIST);
}
}
上一篇: ElementUI 表单验证
下一篇: elementUI 分页如何使用