java8的新特性1

1、lambda表达式

2、函数式接口

3、StreamAPI

4、方法的引用与构造器的引用

5、接口中的默认方法与静态方法

6、新时间日期API

7、其他新特性

简介

java8的新特性

1、速度更快(内存结构、垃圾回收、并行拓展)

2、代码更少(新增新的语法lambda表达式)

3、强大的streamApI

4、便于并行

5、最大化减少空指针异常,optional

    lambda表达式

首先:lambda表达式是一个匿名函数,我们可以把lambda表达式理解为一段可以传递的代码(将代码像数据一样传递)

例:Comparable<Integer> com=(x,y)->Integer.compare(x,y);

emplayees.stream().filter(e->e.getSalary()>=5000).foreach(System.out::println).limit(2);

lambda表达式的基础语法,java8引入了一个新的操作->箭头操作符将lambda表达式分为俩部分

左侧:lamdba表达式参数列表

右侧:lambda表达式所需执行的功能即lambda表达体

语法格式1、无参数、无返回值。

()->功能,lambda体

语法格式2、有一个参数、无返回值

(x)->功能,lambda体

语法格式3、有一个参数没有返回值,括号可以不写

x->功能lambda体

语法格式4、有俩个以上的参数、并且lambda有多条语句,有返回值

(x.y)->{lambda体}

语法格式5、若只有一条语句、return和{}可不写

(x,y)->lambda体

语法格式6:lambda表达式的参数的数据类型可以省略不写,因为jvm编译器通过上下文推断出数据类型,即类型推断

(Integer x,Integer y)->lambda体

lambda表达式需要函数式接口的支持

函数式接口:接口中只有一个抽象方法,可以使用注解@FunctionInterface修饰,可以检查是否是函数式接口。

 

posted @   清华大咖  阅读(147)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示