[Java8]Optional

0x00 Optional是什么

Optional是一个容器:存放T类型的值或者null。它提供了一些有用的接口来避免显式的null检查

0x01 例子

可能为空的值或者某个类型的值

        Optional<String> fullName = Optional.ofNullable(null);
        System.out.println("Full Name is set? " + fullName.isPresent());
        System.out.println("Full Name: " + fullName.orElseGet(() -> "[none]"));
        System.out.println(fullName.map(s -> "Hey " + s + "!").orElse("Hey Stranger!"));

输出结果

有值的例子

Optional<String> firstName = Optional.of("Tom");
        System.out.println("First Name is set? " + firstName.isPresent());
        System.out.println("First Name: " + firstName.orElseGet(() -> "[none]"));
        System.out.println(firstName.map(s -> "Hey " + s + "!").orElse("Hey Stranger!"));

输出结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Optional 一个可以为 null 的容器 所在包:import java.util.Optional; 基本...
    专职跑龙套阅读 21,835评论 1 7
  • 自古以来, Java 开发者们都会遇到一个让人又爱又恨的异常: NullPointException, 为了解决这...
    金明浩KS阅读 698评论 0 1
  • 一、背景 有时候在处理业务逻辑时,需要判断方法返回的值是否为 null 。如,根据用户ID查找用户,Service...
    希崽家的小哲阅读 3,423评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,881评论 18 139
  • 前几年的时候,看完《居里夫人》就幻想成为科学家,功成名就。 前几年的时候,看完《乔布斯传》就幻想成为企业家,独领风...
    fighting41love阅读 1,156评论 2 5