lambda中orElse(null)使用

简介: lambda中orElse(null)使用

如果取得第一个元素,则用findFirst()

最后提取元素的时候,可以用:get或者orElse(null)

这里要注意的是,规范用法是orElse(null)

用get方法,如果filter中获取的是null,那么用get方法会抛出异常:(异常见图二)

 

/**
     * 测试
     * 如果返回值是null的话,则取orElse中值
     * orElse
     */
    @Test
    public void test28() {
        List<Integer> ids = new ArrayList<>();
        ids.add(3);
        ids.add(5);
//        Integer i = ids.stream().filter(r -> (r.equals(9))).findFirst().orElse(null);
        Integer j = ids.stream().filter(r -> (r.equals(9))).findFirst().get(); //这种方法不推荐,如果filter中返回的是空的话,用get会抛出异常
//        System.out.println(i);
        System.out.println(j);
 
    }


相关文章
|
设计模式 缓存 算法
详解 lambda
本文主要从lambda的引入原因,lambda介绍,lamba用法及底层实现原理等几方面详细介绍了lambda的相关知识。
523 0
详解 lambda
|
Python
lambda
lambda 是一个匿名函数,它通常用于简化代码,使代码更简洁、易读。lambda 函数不需要显式地使用 def 关键字进行定义,可以直接在表达式中使用。它的语法如下:
198 6
|
.NET C# 开发框架
[原译]Lambda高手之路第一部分
原文:[原译]Lambda高手之路第一部分 好长时间没发技术文章了,恰好看到一篇非常详细的Lambda文章。一边翻译一边学习。题目好像有点霸气。。 介绍 Lambda表达式是使代码更加动态,易于扩展并且更加快速(看完本文你就知道原因了)的强有力的工具。
744 0
|
SQL Java 程序员
聊聊lambda
聊聊lambda
57 1
|
Serverless Go 云计算
Lambda
Lambda自制脑图
258 0
 Lambda
|
算法 编译器 容器
lambda
lambda
144 0
|
人工智能 前端开发 BI
[原译]Lambda高手之路第二部分
原文:[原译]Lambda高手之路第二部分 闭包的影响 为了展示闭包的影响,我们看下面这个例子。 var buttons = new Button[10]; for(var i = 0; i < buttons.
839 0