函数式编程01-Lambda表达式和函数的定义

函数式编程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 入参和返回值一样
  • 多个入参,单个返回值

上一篇:Java基础-数据类型的转换_charToInt


下一篇:go reflect