函数式编程01-Lambda表达式和函数的定义
Lambda表达式语法:
-
基本写法:
(Integer i) -> {reture String.valueOf(i)}
-
只有一个表达式的时候可以省略大括号和return关键字
(Integer i) -> String.valueOf(i);
-
如果参数类型可以推导出来,可以省略
(i) -> String.valueOf(i);
-
如果参数类型可以推导,并且参数只有一个,参数括号也可以省略
i -> String.valueOf(i);
函数式接口:
定义:只有一个抽象方法的接口
例如:
package com.ydc.mall.function;
// 该注解非必须
@FunctionalInterface
public interface FunctionInterface {
void test();
}
常用内置函数式接口:
-
单个入参,单个返回值:
输入 返回值 class 描述 T R Function<T,R> 一个入参,一个返回值 T void Consumer 一个入参,没有返回值 void R Supplier 无入参,一个返回值 void void Runnable 无入参,无返回值 T Boolean Predicate 一个入参,返回布尔值 T T UnaryOperator 入参和返回值一样 -
多个入参,单个返回值