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);
 
    }


相关文章
|
3天前
|
C#
C# Lambda
C# Lambda
23 0
|
5月前
获取lambda
获取lambda
25 0
|
5月前
针对map的lambda
针对map的lambda
25 0
|
5月前
|
SQL Java 程序员
聊聊lambda
聊聊lambda
27 1
|
5月前
|
Python
lambda
lambda 是一个匿名函数,它通常用于简化代码,使代码更简洁、易读。lambda 函数不需要显式地使用 def 关键字进行定义,可以直接在表达式中使用。它的语法如下:
83 6
|
5月前
lambda小技巧
lambda小技巧
25 0
|
8月前
|
算法 编译器
【lambda函数】lambda()函数
【lambda函数】lambda()函数
|
8月前
|
设计模式 Java API
值得使用Lambda的8个场景,别再排斥它了!
前言 可能对不少人来说,Lambda显得陌生又复杂,觉得Lambda会导致代码可读性下降,诟病Lambda语法,甚至排斥。
|
8月前
|
算法 编译器 容器
|
10月前
|
Java 开发者
lambda让代码更优雅
Lambda表达式是Java 8中引入的一个重要特性,它允许开发者以更简洁的方式编写匿名函数,使得代码更加紧凑和易读。Lambda表达式是函数式编程的一种体现,可以将函数作为方法的参数传递,并且可以使用更简洁的语法实现函数式接口(只有一个抽象方法的接口)的实例化。Lambda表达式的语法形式为 (参数列表) -> {表达式或语句块}。
55 0