文档章节

Java8 Optional类

游动的海蜇
 游动的海蜇
发布于 2017/01/28 21:27
字数 177
阅读 46
收藏 1
点赞 0
评论 0

一、基本知识

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
博文 120
码字总数 33143
作品 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的重要特性及其他,昨天答应的发java8╭(╯ε╰)╮

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

默默学习中
2016/03/28
1K
9
用Optional取代null

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

小鱼嘻嘻
06/02
0
0
Java8函数式编程的宏观总结

1.java8优势 通过将行为进行抽象,java8提供了批量处理数据的并行类库,使得代码可以在多核CPU上高效运行。 2.函数式编程的核心 使用不可变值和函数,函数对一个值进行处理,映射成另一个值。...

caoxiaohong1005
03/18
0
0
JAVA8之妙用Optional解决NPE问题

引言 在文章的开头,先说下NPE问题, NPE问题就是,我们在开发中经常碰到的NullPointerException .假设我们有两个类,他们的UML类图如下图所示 在这种情况下,有如下代码 user.getAddress()....

欧阳海阳
06/10
0
0
工业互联网平台IMSA---1.3.启动过程详解2

在上一篇博文中,我们启动了门户Facade的基于NIO技术的服务器,可以监听到外部系统发送过来的REST类型请求,门户Facade在收到请求后,会将其转化为系统消息,并发送到消息总线Plato中,这样对...

yt7589
01/25
0
0
Java8新特性之:Optional

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

Turnsole1
05/27
0
0
《Java8实战》读书笔记

Java8(https://book.douban.com/subject/26772632/) 引入更多编程概念、编程工具,简洁、灵活地编写代码。 优化步骤: 1)进一步复用代码,抽取公共的逻辑代码,参数化可变的逻辑代码 2)声明...

v1-alpha
2016/12/16
20
0
为什么选择 Java 8 ?

本文是 DZone 指南 Java 生态系统的专题文章。点击链接可阅读更多见解深刻的文章、行业统计信息,系 OneAPM工程师编译整理。 在很多情况下,Java8 都能提升应用性能,而无需任何改变或性能调...

OneAPM蓝海讯通
2015/11/04
117
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

用 Python 实现打飞机,让子弹飞吧!

所用技术和软件 python 2.7 pygame 1.9.3 pyCharm 准备工作 安装好 pygame 在第一次使用 pygame 的时候,pyCharm 会自动 install pygame。 下载好使用的素材。 技术实现 初始化 pygame 首先要...

猫咪编程
8分钟前
0
0
MySQL的行锁和表锁

简单总结一下行锁和表锁。 行锁 每次操作锁住一行数据。开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 表锁 每次操作锁住整张表。开销小,加锁快;不会出...

to_ln
10分钟前
0
0
Java IO类库之字节数组输入流ByteArrayInputStream

一、ByteArrayInputStream字节数组输入流介绍 ByteArrayInputStream是字节数组输入流,继承自InputStream。它的内部包含一个缓冲区,是一个字节数组,缓冲数组用于保存从流中读取的字节数据,...

老韭菜
12分钟前
0
0
iOS安全应该做哪些事情

1. 尽量使用HTTPS协议。 2. 密码提交的时候,密码使用SHA256加密后传输,MD5等经过哈希碰撞已经可以推算出原文。 3. 密码提交的时候,可以加盐。 4. 密码保存在本地的时候,尽量使用钥匙串保...

HOrange
18分钟前
0
0
react native 注意事项

1. 环境参考官网 android studio 必装 java jdk安装 1.8版本(环境建议自己一步一步配置,切记不要 apt ) 2.有改变编译内容发现 会白屏,然后APP消失,请卸载原来的测试 appinfo (连续两次...

304158
25分钟前
0
0
FOMO游戏代码解析

源代码在此处

怎当她临去时秋波那一转
30分钟前
1
0
EOS智能合约与DApp开发入门

EOS的是Block.One主导研发的一个区块链底层公链系统,它专门为支撑商业去中心化 应用(Decentralized Application)而设计,其代码开源。 比特币被称为区块链1.0,因为它开辟了数字加密货币的...

笔阁
42分钟前
1
0
编译cjson到dll

https://blog.csdn.net/mengzhisuoliu/article/details/52203724 编译完成后 是纯lua实现的json decode 的10倍以上...

梦想游戏人
52分钟前
0
0
JS基础- Date 对象

Date 对象 Date 对象用于处理日期和时间。 创建 Date 对象的语法: var myDate=new Date() 注释:Date 对象会自动把当前日期和时间保存为其初始值。 Date 对象属性 属性 描述 constructor 返...

ZHAO_JH
54分钟前
0
0
Python数据分析numpy(1)

Python开源的科学计算基础库 1.表示N维数组对象ndarray 2.线性代数、傅里叶变换、随机数生成 3.广播函数,整合c++、c 一.数据的维度 1.数据 2.数据维度 3.一维数据 (1)特点 (2)Python中的...

十年磨一剑3344
57分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部