class User {
private String name;
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
//输出u1
User u1 = new User("u1");
Optional.ofNullable(u1).ifPresent(u -> {
System.out.println(JSON.toJSONString(u));
});
//输出u2
User u2 =(User) Optional.ofNullable(null).orElse(new User("u2"));
System.out.println(JSON.toJSONString(u2));
//输出u3
User u3 = (User) Optional.ofNullable(null).orElseGet(() -> {
return new User("u3");
});
System.out.println(JSON.toJSONString(u3));
//输出u4
User u4=new User("u4");
User u6 = Optional.ofNullable(u4).orElse(new User("u5"));
System.out.println(JSON.toJSONString(u6));
ResultDTO<ExternalUserDTO> weChatMiniProgramInfo = getWeChatMiniProgramInfo(externalUserId);
String unionId = Optional.ofNullable(weChatMiniProgramInfo)
.map(w -> weChatMiniProgramInfo.getData()).map(ExternalUserDTO::getExternalContact)
.map(ExternalUserDTO.ExternalContact::getUnionId).orElse(StringUtils.EMPTY);
未忘待续。。。
参考:https://www.cnblogs.com/zhangboyu/p/7580262.html
https://www.cnblogs.com/javamianshi365/articles/16491099.html
http://cj.zhuxianfei.com/java/59340.html