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

Optional类

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

Optional类

  • https://www.jianshu.com/p/94c69d2ef00f
  • Optional类
    是一个容器可以存放非空或是空的对象,可以判断出对象是否为空,
    主要是判断是否为null,可以类似于if-else等操作,
    但是不是要取代if-else
package com.bjsxt.servier1.controller;

import com.sun.media.sound.SoftTuning;

import java.sql.SQLOutput;
import java.util.Optional;

public class Style  {
    public static void main(String[] args) {
        
        Integer a = null;
        Integer b = 1;
        String obj = new String("rudy");
        String nulls = "";
        Test test = new Test();
        Son son = new Son();
        son.setName("rudy");
        String name = son.getName();
        Optional obj1 = Optional.ofNullable(a);
        if(obj1.isPresent()){
            System.out.println("存在");
        }else{
            System.out.println("不存在");
        }
        Optional b1 = Optional.ofNullable(b);
        
        System.out.println(obj1.orElse(2));
        System.out.println(b1.orElse(3));
        
        Integer c = null;
        Optional optional = Optional.ofNullable(c);
        Object o = optional.orElseGet(() -> son.getName());
        Object r = optional.orElseGet(() -> {
            System.out.println("空的");
            return "傻逼";

        });
        System.out.println(o);
        System.out.println(r);
        System.out.println("================");
        
        Integer d = null;
        Integer e = 2;
        Optional d1 = Optional.ofNullable(d);
        Optional e1 = Optional.ofNullable(e);
        d1.ifPresent(p-> System.out.println("不为空1"));
        e1.ifPresent(p-> System.out.println("不为空2"));
        
        Optional e2 = Optional.ofNullable(d);
        String s = e2.map(y -> {
            System.out.println("有有有");
            return "不为空";
        }).orElse("没有啊");
        System.out.println(s);

        Integer f = 1;
        System.out.println(f+f);
        Optional f1 = Optional.ofNullable(f);
        Object rudy = f1.map(v -> v + v).map(v -> v + v).map(v -> {
            System.out.println(v);
            return null;
        }).orElse("rudy");
        System.out.println(rudy);


    }
}

 
package com.bjsxt.servier1.controller;

import com.sun.media.sound.SoftTuning;

import java.sql.SQLOutput;
import java.util.Optional;

public class Style  {
    public static void main(String[] args) throws Throwable {
        Integer a =1;
        Integer b =null;
        Optional a1 = Optional.ofNullable(a);
        //两个对象是否相等
        System.out.println(a1.equals(1));
        System.out.println(a1.equals(b));
        System.out.println(a1.isPresent());
        Integer rudy = a1.orElse(666);

        Optional b1 = Optional.ofNullable(b);
        //判断对象是否为空 如果不为空返回该对象,否则返回该方法的指定值
        System.out.println(b1.orElse(666));
        //如果该对象不为空就返回该对象,为空则返回该方法指定的方法值
        Integer 没有值啊 = b1.orElseGet(() -> {
            System.out.println("没有值啊");
            return 777;
        });
        System.out.println(没有值啊);
        //如果对象为空 这个方法会抛出一个异常对象,
       
        //
        //filter是筛选添加一个条件 满足后执行指定 否则执行orElse
        Integer integer = a1.filter(v -> v > 1).orElse(666);
        System.out.println(integer);
        //map主要是判断是否null 然后进行操作 
        Integer integer1 = a1.map(o -> o + o).orElse(999);
        System.out.println(integer1);
    }
}

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

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

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