首页 > 其他分享 >Optional类的初体验

Optional类的初体验

时间:2022-11-17 15:15:14浏览次数:51  
标签:ofNullable 初体验 person11 isPresent System Person Optional

import org.junit.jupiter.api.Test;

import java.util.Optional;

/**
 * @Description Optional类测试
 * @Author saq
 * @Date 2022/11/17 13:56
 */

public class OptionalTest {
    /**
     * 当Optional.ofNullable()方法中的参数对象不为null时,走的是Optional.of()方法
     * 调用person11.isPresent()时,对象不为空返回true
     */
    @Test
    public void test1() {
        Person person1 = Person.builder().name("张三").age(30).build();
        Optional<Person> person11 = Optional.ofNullable(person1);
        System.out.println(person11.isPresent());
    }

    /**
     * 当Optional.ofNullable()方法中的参数对象为null时,走的是Optional.empty()方法
     * 调用person21.isPresent()时,对象为空返回false
     */
    @Test
    public void test2() {
        Person person2 = null;
        Optional<Person> person21 = Optional.ofNullable(person2);
        System.out.println(person21.isPresent());
    }

    /**
     * 当Optional.ofNullable()方法中的参数对象不为null时,走的是Optional.of()方法
     * 调用person11.ifPresent()时,对象不为空继续走下面的逻辑
     */
    @Test
    public void test3() {
        Person person1 = Person.builder().name("张三").age(30).build();
        Optional<Person> person11 = Optional.ofNullable(person1);
        System.out.println(person11.get());
        person11.ifPresent(person -> person.setName("李四"));
        System.out.println(person11.get());
    }
}

 

标签:ofNullable,初体验,person11,isPresent,System,Person,Optional
From: https://www.cnblogs.com/sunAnqing/p/16899536.html

相关文章

  • 学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验
    学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验视图解析:指的就是springboot在处理完请求之后想要跳转到某个页面的过程。springboot默认不支持JSP,需要引入第......
  • HTML5 网页 3D 场景制作之 Three.js 初体验 - 制作 3D 字体
    前言在学习Three.js之前,我们先来了解WebGL,因为WebGL是Three.js的基础和规范.那什么是WebGL呢?WebGL(全写WebGraphicsLibrary)是一种3D绘图协议,这种绘图技术标准允许把Ja......
  • 2022.11.11 Optional
    4.Optional4.1概述我们在编写代码的时候出现最多的就是空指针异常。所以在很多情况下我们需要做各种非空的判断。例如: Authorauthor=getAuthor(); if(author!=n......
  • [Typescript] 96. Hard - Optional Keys
    Implementtheadvancedutiltype OptionalKeys<T>,whichpicksalltheoptionalkeysintoaunion. /*_____________YourCodeHere_____________*/typeOp......
  • [Typescript] 94. Hard - Get Optional
    Implementtheadvancedutiltype GetOptional<T>,whichremainsalltheoptionalfieldsForexampletypeI=GetOptional<{foo:number,bar?:string}>//expe......
  • django-02-初体验
    一.快速上手1.确保APP已注册[settings.py]-在项目中的settings.py中关联APP中的apps.py中的类-INSTALLED_APPS=['app01.apps.App01Config']......
  • Optional 接口初使用
    Optional接口源码packagejava.util;importjava.util.function.Consumer;importjava.util.function.Function;importjava.util.function.Predicate;importjava.util.fu......
  • 【java技术总结】java-8新特性:Optional
    Optional类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional是个容器:它可以保存类型T的值,或者仅仅保存null。O......
  • 京东云开发者|深入JDK中的Optional
    概述:Optional最早是Google公司Guava中的概念,代表的是可选值。Optional类从Java8版本开始加入豪华套餐,主要为了解决程序中的NPE问题,从而使得更少的显式判空,防止代码污染,另一......
  • 京东云开发者|深入JDK中的Optional
    概述:Optional最早是Google公司Guava中的概念,代表的是可选值。Optional类从Java8版本开始加入豪华套餐,主要为了解决程序中的NPE问题,从而使得更少的显式判空,防止代码污染,另一......