zoukankan      html  css  js  c++  java
  • jdk1.8Option类

    目的:为了解决一个方法返回的参数可能为空而无法传入到新的方法做参数的问题,java8产生了新的内容:Option。

    定义:Option是一个可以为空的容器对象(注意本质上是个万能对象)。

    常用方法:1、ispresent():如果值存在的话就调用ispresent()返回true。

        2、get():如果值存在的话就调用get()返回这个值。

        3、of(value):为非null值创建一个Option,(如果传入null,就报空指针异常)

          Optional<String> name = Optional.of("LinkinPark...");

        4、empty():用来返回一个空对象,该对象调用ispresent()方法返回false,调用get报错,no value present

        5、ofNullable():为指定的值创造个Option,如果值为空则返回一个空Option。

            public static <T> Optional<T> ofNullable(T value) {

            return value == null ? empty() : of(value);

            }

        6、orElse:如果有值就将其返回,没有值的话返回其他指定值

            public T orElse(T other){

              return value!=null?value:other;

            }      

        7、orElseGet():作用同orElse()方法,但是,orElse()方法的参数是指定一个字符串,而orElseGet()方法的参数是一个接口,可以从接口取得指定值。

          User user = Optional.ofNullable(User.getById(userId)).orElseGet(() -> User.createUser(userId));

          上面这一句用来生成一个User对象,项目中,前端会传来一个userid,如果该userid存在,就直接返回该User对象(调用的是dao层的getById方法),如果不存在这个userid则调用方法创建一个新的User对象。类似于三目运算符,但是是用在Option上的。

  • 相关阅读:
    python学习之——pip的安装与使用
    python学习之——django环境搭建
    python学习之——eclipse+pydev 环境搭建
    linux学习之——vim简明教程
    深度公式
    带宽、延时、吞吐率、PPS
    人脸应用:人脸检测、人脸对比、五官检测、眨眼检测、活体检测、疲劳检测
    非交互式人脸活体检测(002)
    活体检测记录(001)
    Learning Generalizable and Identity-Discriminative Representations for Face Anti-Spoofing
  • 原文地址:https://www.cnblogs.com/television/p/9265027.html
Copyright © 2011-2022 走看看