Java8新特性的特点:1.代码简洁
2.多核友好,只需要调用parelle()方法即可
Lambda(必须是函数式接口)@FunctionaInterface 其中只有有一个抽象方法
“->”被称为Lambda操作符
左侧:需要的参数类型
右侧:Lambda 方法体,执行任务的功能行为
四大特点:
1.可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
2.可选的参数圆括号():一个参数无需定义圆括号,但多个参数需要定义圆括号()。
3.可选的大括号{}:如果主体包含了一个语句,就不需要使用{}。
4.可选的返回关键字return:如果主体只有一个表达式返回值则可以省略return和{}
Lambda语法:
new Thread(new Runnable() {
@Override
public void run() {
System.out.println();
}
});
new Thread(()-> System.out.println());
什么是函数式接口:
只要确保接⼝中有且仅有⼀个抽象⽅法即可
常见的函数式接口
Consumer<T>消费 参数类型:T 返回类型:vodi 有进无出void accept(T t)
Supplie<T>供给 参数类型:无 返回类型:T 无进有出T get( )
Function<T,R>函数 参数类型:T 返回类型:R 有进有出R apply(T t)
Predicate<T>断言 参数类型:T 返回类型:boolean 有进有出boolean test(T t)
方法引用
引用运算符 ::
1.对象的引用::实例名
2.类名::静态方法名
3.类名::实例方法名
4.类名::new(构造器引用)
立即拼接字符串
logMethod("off",name+action+monet)