乐趣区

关于java:JAVA-Lambda表达式扩展

之前有写过一篇文章,对于 JAVA Lambda 表达式的介绍,没有理解过的敌人能够先参考下:https://segmentfault.com/a/11…

这篇文章的目标是让你彻底了解 JAVA Lambda 表达式。(先别急着感激,看完你会很冲动的,或者有所感悟)

JAVA Lambda 表达式的实质

首先,所有对于 JAVA Lambda 表达式的文章都有着重阐明函数式接口(
能够被 @FunctionalInterface 注解润饰的接口)。

  • 函数式接口定义了 Lambda 表达式的格局。都说了他是一种表达式,那么它的运算后果就是一个对象。
  • 为什么要是函数式接口呢,其余接口不行吗(只有一个形象办法的接口才是函数式接口)?因为 JAVA Lambda 表达式返回后果只有一个,只能对应一个形象办法。
  • 抽象类的形象办法是不反对 Lambda 表达式的。

JAVA Lambda 表达式实现形式

其实上一篇文章只介绍 Lambda 表达式一种模式,Lambda 表达式是有三种模式的。

  • (参数列表) -> {语句块},-> 是必须有的
  • 对象办法援用,例如:System.out::println
  • 类办法援用。就是 static 润饰的办法,包含类,抽象类,接口。

总结

JAVA Lambda 表达式就是一种表达式,返回后果值就是一个对象。至于函数式接口中定义的惟一一个形象办法就是定义了表达式要实现的逻辑。执行这个返回对象表达式逻辑局部的代码在你应用的工具类代码中。

我感觉我说明确了,不晓得你懂了没有。

退出移动版