10
为什么在Java 8+中使用Optional而不是传统的空指针检查?
我们最近已经迁移到Java8。现在,我看到应用程序充斥着Optional对象。 Java 8之前(样式1) Employee employee = employeeServive.getEmployee(); if(employee!=null){ System.out.println(employee.getId()); } Java 8之后(样式2) Optional<Employee> employeeOptional = Optional.ofNullable(employeeService.getEmployee()); if(employeeOptional.isPresent()){ Employee employee = employeeOptional.get(); System.out.println(employee.getId()); } 我看不到Optional<Employee> employeeOptional = employeeService.getEmployee();服务本身返回可选值时的附加值: 来自Java 6背景,我认为样式1更清晰,代码行更少。我在这里没有任何真正的优势吗? 通过对所有答案的理解和博客的进一步研究得到巩固