JavaSE:Java基础7:java8新特性

java8新特性

 

 

新特性推出原因:速度更快 ,代码更少,强大的Stream  API,便于并行,最大化减少空指针异常Optional。

 

Lambda表达式:Lambda 是一个 匿名函数,我们可以把 Lambda表达式理解为是 一段可以传递的代码(将代码
像数据一样进行传递)。可以写出更简洁、更灵活的代码。

上两个demo

demo1

demo2

 

 

Lambda表达式语法

Lambda 表达式在Java 语言中引入了一个新的语法元素和操作符。这个操作符为 “- > ” , 该操作符被称
为 Lambda 操作符或剪头操作符。它将 Lambda 分为两个部分:
左侧:指定了 Lambda 表达式需要的所有参数
右侧:指定了 Lambda 体,即 Lambda 表达式要执行的功能(实现的方法)。 

类型推断: Lambda 表达式中的参数类型都是由编译器推断得出的。Lambda 表达式中无需指定类型,程序依然可以编译,这因为 javac 根据程序的上下文,在后台推断出了参数的类型。Lambda 表达式的类型依赖于上下文环境,是由编译器推断出来的。这就是所谓的“类型推断” 。

Optional类:Optional<T> 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。

常用方法:
Optional.of(T t) : 创建一个 Optional 实例
Optional.empty() : 创建一个空的 Optional 实例
Optional.ofNullable(T t):若 t 不为 null,创建 Optional 实例,否则创建空实例
isPresent() : 判断是否包含值
orElse(T t) : 如果调用对象包含值,返回该值,否则返回t
orElseGet(Supplier s) :如果调用对象包含值,返回该值,否则返回 s 获取的值
map(Function f): 如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty()
flatMap(Function mapper):与 map 类似,要求返回值必须是Optional

https://mp.weixin.qq.com/s?__biz=MzIxMDAwMDAxMw==&mid=2650725139&idx=1&sn=a57d3f21b6022c855cabdb046fcb81fa&chksm=8f613af1b816b3e7452de222df83b8e36a8f7835be43c1ebfdf2489fc7dad53ec983f6e8de8f&mpshare=1&scene=23&srcid=&sharer_sharetime=1576025255639&sharer_shareid=12ae0c9c538778cd36ca6e4500b81b6f#rd

分析Java Stream操作

https://www.jetbrains.com/help/idea/analyze-java-stream-operations.html

Optional类在项目里的运用

service层:

public Optional<List<XXDO>> getXXBySystemId(String systemId) {
        Optional<List<XXDO>> optional = Optional.empty();
        if (StringUtils.isNotBlank(systemId)) {
            String xxSystemId = ((DXXVO)this.iDXXService.getDXXById(systemId).orElseGet(DXXVO::new)).getAXXSystemId();
            List<VXXdDO> vxxDOList = this.ixxdDAO.getVxxBySystemId(axxSystemId);
            if (CollectionUtils.isNotEmpty(vxxDOList)) {
                optional = Optional.of(vxxDOList);
            }
        }

        return optional;
    }

Lambda表达式在项目里的运用

Stream流在项目里的运用

常用函数接口及使用

流的使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值