【JDK版本差异】Optional.requireNonNullElseGet在JAVA8中的替代表述

这篇具有很好参考价值的文章主要介绍了【JDK版本差异】Optional.requireNonNullElseGet在JAVA8中的替代表述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Objects.requireNonNullElseGet 是 Java 9 引入的方法,不在 Java 8 中可用。但是,
可以使用 Java 8 的一些功能来模拟类似的效果。


快速查阅

JDK9以上表述:

this.principalFactory = Objects.requireNonNullElseGet(principalFactory, DefaultPrincipalFactory::new);

JDK8中的表述:

this.principalFactory = Optional.ofNullable(principalFactory)
                .orElseGet(DefaultPrincipalFactory::new);

原理

在Java9中,该方法本质上就是在obj为空的时候,接收一个Supplier 参数,生成一个默认值。
【JDK版本差异】Optional.requireNonNullElseGet在JAVA8中的替代表述,JAVA SE,java,Objects对象方法,Optional类,JDK9转JDK8表述,stream流

在 Java 8 中,可以使用 Optional 类的 orElseGet 方法来实现类似的功能。orElseGet 方法接受一个 Supplier 参数,用于在 Optional 对象为空时生成一个默认值。

在上述示例中,我们使用 Optional.ofNullable 方法将可能为空的对象 value 包装成一个 Optional 对象。然后,我们使用 orElseGet 方法来指定在 value 为空时使用的默认值。

请注意,虽然这种方式可以在 Java 8 中模拟类似的功能,但在 Java 9 中直接使用 Objects.requireNonNullElseGet 更为简洁和直观。如果在 Java 8 中使用了大量的类似功能,考虑升级到 Java 9 或更高的版本可能会更方便。


ATFWUS 2023-08-04文章来源地址https://www.toymoban.com/news/detail-658525.html

到了这里,关于【JDK版本差异】Optional.requireNonNullElseGet在JAVA8中的替代表述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java8 环境安装】Java1.8&JDK环境安装jdk-8u361-windows-x64

    一、JDK的下载 首先进入Oracle官网下载JDK1.8安装包 https://www.oracle.com/ 依次点击 Resources Java Downloads 选择版本,页面往下拉,这里我们选择1.8的版本,也就是Java8 选择Java8 Windows版本 点击下载,选择64位的版本(一般电脑都是64位,最好看一下电脑系统的版本) 需要注册账号,为

    2024年02月07日
    浏览(48)
  • 【Java基础-JDK21新特性】它发任它发,我用java8

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年02月08日
    浏览(32)
  • Windows11配置Java8开发环境 - JDK1.8

    1、下载JDK 我们要下载的是Oracle版本的JDK,我们首先进入Oracle的官网的Java下载页面:https://www.oracle.com/cn/java/technologies/downloads/ 一直往下滑 ,找到 Java8 —点击 Windows (如果你是其他系统选择你对应的系统即可)— 在下方根据你的电脑系统类型选择对应的X86或X64然后点击下载

    2024年02月10日
    浏览(38)
  • 如何安装java8、java17/jdk、jre/java与配置环境变量?(详细图解)

    前提: 为什么要安装两个java?因为有的程序/软件/靶场/工具等需要的java环境不同,安装两种可满足不同的需求。java10以下一种,java8很经典也很常用,java10以上的一种,这里以java17举例,因为官网最新的java10以上的正好是java17,就以java17举例。 目录 一、java8安装 1.官网/网盘

    2024年04月29日
    浏览(39)
  • 详细分析Java中的Optional类以及应用场景

    在实战中学习,灵活运用每个操作类,具体如下: 源码主要如下: 大致含义如下: 这是一个容器对象,可能包含或不包含非空值。如果有值存在,isPresent() 方法将返回 true,而 get() 方法将返回该值。 提供了一些依赖于包含值的存在或缺失的其他方法,例如 orElse()(如果值不

    2024年04月27日
    浏览(26)
  • MAC(适用于M1,M2芯片)下载Java8(官方 ARM64 JDK1.8)安装、配置环境,支持动态切换JDK

    官方下载地址 https://www.oracle.com/cn/java/technologies/downloads/ 这个是官方新发布的适配了M1、M2芯片的ARM64版本的jdk8,再也不用去第三方下载了,也不用满世界的去找第三方jdk缺少的jar包了,而且更快更强!! 可以下载免安装版, 这样就可以配置多个版本的jdk了,配置如下 使配置

    2024年02月08日
    浏览(79)
  • Jenkins java8安装版本安装

    一、首先准备Jenkins、Jdk8、Tomcat9安装包 根据Jenkins官网介绍,Jenkins支持Java8的版本如下: 我们选择2.164版本进行安装,根据版本号支持输入下载地址:https://archives.jenkins.io/war/2.164/jenkins.war,进行下载安装 接着安装Jdk,请参考以前的文档:CSDN Tomcat9直接下载运行 二、安装Jenk

    2024年02月09日
    浏览(30)
  • 安装Java8和Java17共存,如何自由切换Java版本?

    官方下载地址:https://www.oracle.com/java/technologies/downloads/ 根据需要选择要下载的Java版本 安装过程省略,有需要的可自行百度 … 找到自己java安装的目录 进入Java jdk的bin目录,如:C:java8jdk1.8.0_331bin,将java.exe改为java8.exe 同样的方式去修改java17的java文件名称 将Java8和Java17的b

    2024年02月09日
    浏览(39)
  • 【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退

    在Git中,可以使用差异比较命令和版本回退命令来查看文件之间的差异并回退到早期的版本。 以下是对这些操作的简要解释: 差异比较:你可以使用 git diff 命令来比较工作区中的文件与暂存区或已提交版本之间的差异。执行以下命令可以查看文件的差异: 这将显示工作区与

    2024年02月15日
    浏览(30)
  • Data与Java8中的LocalDate相互转换

    一、前言 Date这个类在 java.util包 中,始于jdk1.0。后来在jdk1.8时,针对日期类进行了一个大的更新,专门新建了 java.time包 ,新的日期类LocalDateTime就在这个包中。 日常工作中,很容易碰到旧日期类Date,与新日期类LocalDateTime的相互转换。下面就介绍一下如何进行转换 二、思路

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包