java8 Optional正确使用姿势
2017-08-07 15:58
549 查看
Java 8 如何正确使用 Optional
import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import org.apache.commons.lang3.StringUtils; import java.util.Optional; @Data @EqualsAndHashCode(exclude={"self"}) @ToString(callSuper=true, exclude="self") public class PersonDto { private Integer id; private String name; private String password; private Double self; public boolean validateName1() { return StringUtils.equals("hjz", name); } public static boolean validateName2(String name) { return StringUtils.equals("hjz", name); } public static void main(String[] args) { PersonDto personDto = new PersonDto(); personDto.setName("hjz"); // String name = Optional.ofNullable(personDto) // .map(obj -> obj.getName()) // .filter(StringUtils::isNotEmpty) // .orElseThrow(()->new IllegalArgumentException("The value of param personDto isn't available.")); // String name = Optional.ofNullable(personDto) // .map(obj -> obj.getName()) // .filter(PersonDto::validateName2) // .orElseThrow(()->new IllegalArgumentException("The value of param personDto isn't available.")); String name = Optional.ofNullable(personDto) .filter(PersonDto::validateName1) .map(obj -> obj.getName()) .orElseThrow(()->new IllegalArgumentException("The value of param personDto isn't available.")); System.out.println(name); } }
相关文章推荐
- 使用 Java 8 Optional 的正确姿势
- 使用Java8中Optional机制的正确姿势
- 使用 Java 8 Optional 的正确姿势
- 使用 Java8 Optional 的正确姿势(转)
- Java - 使用 Java8 Optional 的正确姿势
- 使用java 8 Optional 的正确姿势
- 使用 Java8 Optional 的正确姿势
- 使用 Java 8 Optional 的正确姿势
- 使用 Java8 Optional 的正确姿势
- 【Java】jdk8 Optional 的正确姿势
- Java异常的正确使用姿势
- java 同步锁(synchronized)的正确使用姿势
- 听说你不明白Java里"=="和"equals()"的正确使用姿势?
- 如约而至,Java 10 正式发布! Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十四)Redis缓存正确的使用姿势 努力的孩子运气不会太差,跌宕的人生定当更加精彩 优先队列详解(转载)
- Java单例的正确使用姿势
- 【Java】jdk8 Optional 的正确姿势
- 【Java】jdk8 Optional 的正确姿势
- [Java编程教程]Optional的正确使用
- linux下使用update-alternatives切换java版本的正确姿势
- Java8 如何正确使用Optional