栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java8新特性-Optional类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java8新特性-Optional类

直接贴代码:

package com.c8a.optional;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.testng.annotations.Test;

import java.util.Optional;



public class OptionalAPI {


    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class Person {
        private Boy boy;
        private Girl girl;

        public Person(Girl girl) {
            this.girl = girl;
        }
    }


    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class Boy {
        private String name;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class Girl {
        private String name;
    }

    
    @Test
    public void Test1() {
        Girl girl = new Girl();
//        girl = null;
//        Optional girl1 = Optional.of(girl);


        Optional empty = Optional.empty();
        System.out.println(empty);

        Optional girl2 = Optional.ofNullable(girl);
        System.out.println(girl2);
    }


    //原来的获取名字
    public String getGirlName(Girl girl) {
        if (girl != null) {
            return girl.getName();
        }
        return null;
    }
    //优化后的获取名字
    public String getGirlName1(Person person) {
        Optional optionalPerson = Optional.ofNullable(person);
        Person person2 = optionalPerson.orElse(new Person(new Girl("芭比Q")));
        Girl girl = person2.girl;
        Optional girl1 = Optional.ofNullable(girl);
        Girl girl2 = girl1.orElse(new Girl("小鸟酱"));
        return girl2.getName();
    }
    @Test
    public void Test2() {
        Girl girl1 = new Girl();
//        girl1 = null;
        Optional girl2 = Optional.ofNullable(girl1);
        Girl girl3 = girl2.orElse(new Girl("十七岁"));
        System.out.println(girl3);
    }

    @Test
    public void Test3() {
        Person person = new Person();
//        girl1 = null;
        String girlName1 = getGirlName1(person);
        System.out.println(girlName1);
    }
}



转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号