可选怎么中Java8项目中使用

  介绍

这篇文章给大家介绍可选怎么中Java8项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Java的特点有哪些

Java的特点有哪些   1. java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。   2. java具有简单性,面向对象,分布式、安全性,平台独立与可移植性,动态性等特点。   3.使用Java可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序等。

API介绍

可选的所有的方法如下图所示,这些API大致可以分为以下几类:

1,构建API:构建一个可选的对象,方法有:空(),(),ofNullable ();

2,获取API:获取可选的对象里包装的值;方法有:获得(),orElse (), orElseGet (), orElseThrow ();

3,转换API:将可选的对象里包装的值转换成一个新的值;方法有:地图(),flatMap ();

4,判断API:对可选的对象里包装的值做一些逻辑判断;方法有:过滤(),isPresent (), ifPresent ();

可选怎么中Java8项目中使用“> </p> <h4> API使用方法<br/> </h4> <p>首先准备一个pojo类</p> <pre类= @ data   @NoArgsConstructor   @AllArgsConstructor   @EqualsAndHashCode   @ToString   public  class  UserInfo  {   ,private  String 用户名;   ,private  String 密码;   ,private  Integer 年龄;   ,private  String 性别;   }

<>强构建类

 @test
  ,public  void  testBuildOptional (), {//,才能构建一个值为零的可选的对象;
  Optional<才能;UserInfo>, userInfoEmptyOpt =, Optional.empty ();//,才能构建一个价值不可以为零的可选的对象,如果的()的入参为null会报空指针异常;
  Optional<才能;UserInfo>, userInfoOpt =, Optional.of (new 用户信息(“阿飞“,“123456“,,15日,“man"));//,才能构建一个价值可以为零的可选的对象;
  Optional<才能;UserInfo>, userInfoNullOpt =, Optional.ofNullable(空);
  
  System.out.println才能(userInfoEmptyOpt);
  System.out.println才能(userInfoOpt);
  System.out.println才能(userInfoNullOpt);
  ,,//,,输出如下://,Optional.empty//,,可选[用户信息(用户名=阿飞,,密码=123456,,=15岁,性别=))//,Optional.empty
  以前,} 

<强>获取类

 @test
  ,public  void  testGetOptionalValue (), {
  Optional<才能;UserInfo>, userInfoEmptyOpt =, Optional.empty ();
  Optional<才能;UserInfo>, userInfoOpt =, Optional.of (new 用户信息(“阿飞“,“123456“,,15日,“man"));//,才能直接获取,注意如果value=https://www.yisu.com/zixun/=null,会报NoSuchElementException异常
  用户信息userInfo1=userInfoOpt.get ();//orElse可以传入一个用户信息类型的对象作为默认值;当价值!=null时,返回值值;当值==null时,返回默认值作为代替;
  用户信息userInfo2=userInfoEmptyOpt。orElse(新用户信息(“阿飞1 "," 123456 ",15日,“男人”));//orElseGet和orElse不同的是orElseGet可以传入一段λ表达式;当价值!=null时,返回值值;当值==null时,使用该λ返回的对象作为默认值;
  用户信息userInfo3=userInfoEmptyOpt.orElseGet(() ->新用户信息(“阿飞2”,“123456”,15日,“男人”));//orElseThrow可以传入一段λ表达式,λ返回一个例外,当价值!=null时,返回值值;当值==null时,抛出该异常;
  用户信息userInfo4=userInfoOpt.orElseThrow (NullPointerException::新);
  
  System.out.println (userInfo1);
  System.out.println (userInfo2);
  System.out.println (userInfo3);
  System.out.println (userInfo4);//输出如下://用户信息(用户名=阿飞,密码=123456=15岁性别=男人)//用户信息(用户名=阿飞1,密码=123456=15岁性别=男人)//用户信息(用户名=阿飞2密码=123456=15岁性别=男人)//用户信息(用户名=阿飞,密码=123456=15岁性别=男人)
  }

<>强转换类

 @test
  ,public  void  testMapOptionalValue (), {
  Optional<才能;UserInfo>, userInfoOpt =, Optional.of (new 用户信息(“阿飞“,“123456“,,15日,“man"));//才能,原来值的类型是用户信息,经过地图转换为Optional
  Optional<才能;String>, username =, userInfoOpt.map(用户信息::getUsername);//才能,当地图的入参也是一个可选时,经过地图转化后会形成Optional可选怎么中Java8项目中使用