Lambda表达式在Java8中的应用
学习Lambda表达式要先理解什么是函数式接口,可以参看我转载的这篇博客:
https://blog.****.net/Dongguabai/article/details/80841729
“->”是Lambda表达式的操作符,操作符的左侧是表达式的参数列表,右侧是需要执行的功能,即Lambda体。
格式一:无参数,无返回值
以Runnable接口为例:
执行:
执行结果:
格式二:有参数,无返回值
这里定义一个函数式接口:
执行:
执行结果:
如果只有一个参数的话,参数的小括号可以不写:
上面的代码可以写成:
格式三:有多个参数,有返回值,并且Lambda体中有多条语句
这种情况下需要使用大括号和return。
定义一个函数式接口:
执行:
执行结果:
格式四:有多个参数,有返回值,Lambda体中只有一条语句
这种情况大括号和return都可以不写了。
执行结果:
还有一个就是要注意数据类型的问题,要么所有的参数都写数据类型,要么都不写,JVM编译器会根据上下文推断数据类型。