-
jvm的类型推导和参数检查
查看全部 -
表达式类型检查、参数类型检查
查看全部 -
lambda表达式对外部局部变量捕获的示例
Lambda中的this关键字,表示的是所属方法所在的类型的对象,即Lambda表达式所在的地方不在创建对象级的作用域
Lambda表达式简化了对变量的访问
查看全部 -
常规方式的匿名内部类的外部变量捕获
匿名内部类捕获的外部局部变量,在匿名内部类的内部不能对捕获的外部局部变量进行重现赋值,因为在编译时会将被匿名内部类捕获的外部局部变量增加finall关键字修饰,所以不能被重新赋值
查看全部 -
章节总结:
1 lambda表达式必须和接口进行绑定
2.lambda表达式可以附带0到n个参数,括号中的参数类型可以不用指定,jvm在运行时,会自动根据绑定的抽象方法中的参数类型推导出对应的参数类型
3.lambda表达式的返回值,如果代码块只有一行,并且没有大括号,则不用写return关键字,单行代码的执行结果会自动返回;如果添加了大括号,或者有多行代码,则必须通过return关键字返回执行结果
查看全部 -
带有返回值的lambda 表达式当代码块只有一行代码时且没有大括号则可以不写return关键字显示的返回执行结果
查看全部 -
带有接口参数的Lambda表达式支持根据Lambda表达式绑定的接口方法自动推导该参数是什么类型的
查看全部 -
没有参数和返回值的Lambda表达式
如果代码块中只有一行语句则 大括号可以省略
查看全部 -
基本语法解释
[接口声明] = (参数) -> { 执行代码块 };
1,声明 :就是和Lambda表达式绑定的接口类型
2.参数:包含一对小括号,和绑定的接口中的抽象方法中的参数个数及顺序一致
3.操作符: ->
4.执行的代码块: 包含在一对大括号中,出现在操作符右侧
查看全部 -
基本语法
带参数的Lambda
带返回值的Lambda
查看全部 -
章节内容总结
java.util.function中提供的常用的不同场景的函数式接口
Predicate 接收参数T对象,返回boolean类型结果
Consumer 接收参数T对象,没有返回值
Function 接收参数T 对象,返回R对象
Supplier 不接受任何参数,直接通过get()获取指定类型的对象
UnaryOperator 接口参数T对象,执行业务处理后,返回更新后的T对象
BinaryOperator 接口接收两个参数T对象,执行业务处理后,返回一个T对象
查看全部 -
BinaryOperator<T> 接收两个参数T,返回处理后的其中一个T
查看全部 -
UnaryOperator<T> 接收参数T,返回处理后的T
UnaryOperator<T> 继承了Functiong<T,T>接口
UnaryOperator<T>内包含一个返回自身的静态方法identity(){return t->t}
查看全部 -
Supplier<T> 不接受任何参数,返回类型为T的结果
查看全部 -
Function<T,R> 接收参数T,返回参数R 演示
查看全部
举报