首页 > 代码库 > java8 Optional正确使用姿势
java8 Optional正确使用姿势
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); }}
java8 Optional正确使用姿势
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。