文档章节

Java8 Optional类

游动的海蜇
 游动的海蜇
发布于 2017/01/28 21:27
字数 177
阅读 48
收藏 1

一、基本知识

Optional用于包含非空对象的容器对象。Optional对象,用于表示使用不存在null值。这个类有各种实用的方法,以方便代码来处理为可用或不可用,而不是检查null值。

二、使用示例

测试类:

/**
 * Java8 Optional类测试
 *
 * @author Kevin
 * @date 2017-01-28
 */
public class OptionalTest {

    public static void main(String args[]) {
        Integer value1 = null;
        Integer value2 = new Integer(8);

        Optional<Integer> a = Optional.ofNullable(value1);
        Optional<Integer> b = Optional.of(value2);

        System.out.println(sum(a, b));
    }

    /**
     * 求和
     *
     * @author Kevin
     */
    private static Integer sum(Optional<Integer> a, Optional<Integer> b) {
        Integer value1 = a.orElse(new Integer(0));
        Integer value2 = b.get();
        return value1 + value2;
    }

}

运行结果:

8

三、参考文章

1.Java8 Optional类(http://www.yiibai.com/java8/java8_optional_class.html)

© 著作权归作者所有

共有 人打赏支持
游动的海蜇
粉丝 7
博文 121
码字总数 33636
作品 0
杭州
程序员
私信 提问
Java系列 – 用Java8新特性进行Java开发太爽了(续)

本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome-2/ 前言 上周, 我们谈论了关于Java8的新特性有那些, 什么是函数式编程, 什么是Lambda表达式, 这...

PereTang
2017/07/18
0
0
Java8 lambda使用总结-结合实例介绍

1.Java8 新特性介绍 写java的同学对java8肯定知道 那么java8到底有哪些特性呢,总结如下: 最核心的当然是函数式编程了,写代码非常简单,请看下面详细例子介绍 2.Java8 lambda使用总结-结合...

陈小扁
2016/07/01
2K
1
Java8新特性之:Optional

一. 用Optional取代null 1. Optional类 java.util.Optional是一个封装Optional值的类。 变量存在时,Optional类只是对类进行简单的封装。变量不存在时,缺失的值会被建模成一个“空”的Optio...

Turnsole1
05/27
0
0
用Optional取代null

null引发的问题以及为什么要避免null引用 先看一个例子 意思也就是说获取一个人的车的保险公司的名称。可以看到的是,并不是每一个都有车,也并不是每一个车都有保险。这样的获取是会发生Nul...

小鱼嘻嘻
06/02
0
0
java8的重要特性及其他,昨天答应的发java8╭(╯ε╰)╮

【注意】本文节选自是 DZone 指南 Java 生态系统的专题文章,作者Trisha Gee是Java资深工程师和布道者。在本文中,Trisha Gee阐述了Java 8的重要特性以及使用的原因,由OneAPM工程师翻译。 ...

默默学习中
2016/03/28
1K
9

没有更多内容

加载失败,请刷新页面

加载更多

七牛qshell工具 批量删除操作

qshell 下载地址&文档(http://developer.qiniu.com/code/v6/tool/qshell.html) 这里我们演示的是windows下的操作,将下载的工具改名为:qshell.exe 然后将文件的路径添加到PATH qshell accou...

koothon
9分钟前
0
0
Fastjson-fastjson中$ref对象重复引用问题

import java.util.ArrayList;import java.util.List;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.SerializerFeature;/** * fastjson中$ref对象......

小黄狗
15分钟前
0
0
mybatis一级缓存

mybatis执行查询的流程,最终都是通过动态代理进入到MapperProxy的invoke方法 @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try......

wuyiyi
15分钟前
0
0
安装weblogic wls1033_generic.jar 遇见的坑

接别人的烂摊子,weblogic部署没部署成功不部署了 让我远程给别人部署weblogic 11g 部署完成启动域的时候启动不了报错如下 Unrecognized option: -jrockit Error: Could not create the Ja...

雁南飞丶
15分钟前
0
0
通过7个python函数理解区块链

我想对于那里的很多人来说,区块链就是这种现象,很难不让你头脑发热。我开始观看视频和阅读文章,但对我个人而言,直到我编写自己的简单区块链,我才真正理解它是什么以及它的潜在应用价值。...

笔阁
16分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部