Java基础入门之jdk1.8新特性

Lamda 表达式(目标类型)

  • 简介

语法糖,也叫糖衣语法 指的是计算机中 添加某种语法 这种语法 ,能使程序员更加方便的使用语言开发程序,同时,增强了代码的可读性
避免了出错的机会,但是,这种语法对于语言的功能并且有增强 例如: 泛型 自动装箱拆箱 增强for循环

  • 语法格式:

基本格式:(参数列表)->{方法体} () 形参列表 0个或者n个

  • 注意:

当一个接口中,只包含一个方法时,该接口是函数接口。只有是函数接口,才可以使用Lamda表达式替换 格式:()->{}
1.(参数列表)->表达式 省略花括号,return都不能有
2.形参列表的类型声明名可省略
3.当形参列表是一个时,小括号可省略
4.如果表达式是单一表达式,可以省略Return

  • 基本应用

1.线程中的引用
这里写图片描述
2. forEach方法在集合中的使用(Iterable)

list集合(jdk1.8后出现了自己的sort方法)

这里写图片描述

3.Map集合
这里写图片描述

  • 集合的排序
    这里写图片描述

  • 数组的排序

  • 特殊的双冒号 ::方法引用

方法引用(method reference) 是Lamda的简写形式 调用一个已经存在的方法
当需要引用的方法涉及到其他类型的参数是,不可以使用
语法 : 左边是容器 中间:: 右边 调用的方法名
1.非静态方法调用 对象名::方法名
这里写图片描述
2.静态方法调用 类名::方法名
3.构造方法调用 类名::new

局部内部类:

final 修饰符可以省略

接口中支持静态方法(static) 默认方法(default)

Jdk1.8允许接口有静态修饰的方法 默认方法(没有要求一定要重写)若重写default 方法,只能用public 修饰 修饰符不可以混合使用

Time包下的类

新增一些处理时间问题的专门类
LocalDate 不带时间的日期 年月日
LocalTime 不带日期的时间 时分秒
LocalDateTime 包含了日期与时间 不包含时区
ZoneDateTime 包含了日期与时间 不包含时区
这里写图片描述

Stream 接口

和InputStream/OutputStream 没有关系 和Iterator相似 Stream
表示能够应用在一组元素上一次执行的操作序列 提供了很多Lamda表达式
这里写图片描述

猜你喜欢

转载自blog.csdn.net/xueer_z/article/details/81946045