Java8的新特性
来自搞事的枣儿姐
1.Lambda表达式的含义及使用方法
2.方法的引用(::双冒号)
3.函数式接口
4.默认方法
5.option类
6.Stream 流
7.Date/Time api
8.Base64编码
lambda表达式
printName->System.out.println(name);
组成的三部分
- 括号内用逗号分隔的参数列表
- 符号->
- 方法体,可为表达式和代码块
四个重要特征
- 可选的类型声明:你不用去声明参数的类型。编译器可以从参数的值来推断它是什么类型。
- 可选的参数周围的括号:你可以不用在括号内声明单个参数。但是对于很多参数的情况,括号是必需的。
- 可选的大括号:如果表达式体里面只有一个语句,那么你不必用大括号括起来。
- 可选的返回关键字:如果表达式体只有单个表达式用于值的返回,那么编译器会自动完成这一步。若要指示表达式来返回某个值,则需要使用大括号。
::的使用
它可以用来引用下列类型的方法:
- 构造器引用。语法是Class::new,或者更一般的Class< T >::new,要求构造器方法是没有参数;
- 静态方法引用。语法是Class::static_method,要求接受一个Class类型的参数;
- 特定类的任意对象方法引用。它的语法是Class::method。要求方法是没有参数的;
- 特定对象的方法引用,它的语法是instance::method。要求方法接受一个参数,与3不同的地方在于,3是在列表元素上分别调用方法,而4是在某个对象上调用方法,将列表元素作为参数传入;
函数式接口增加
留存疑问