JAVA 1.8 新特性学习(2) lambda表达式
来源:互联网 发布:天刀少女体型捏脸数据 编辑:程序博客网 时间:2024/06/07 02:44
λ表达式本质上是一个匿名方法,我们来看一下这个例子。在java1.7中,我们这样写代码:
interface Names { public void sayName(String name);}public class NameExample { public static void main(String[] args) { Names nameInstance = new Names() { @Override public void sayName(String name) { System.out.println("My Name is " + name); } }; myName(nameInstance, "John"); } private static void myName(Names nameInstance, String name) { nameInstance.sayName(name); }}
输出 My Name is John
当使用java1.8以后,我们可以使用λ表达式,代码如下:
interface Names { public void sayName(String name);}public class NameExample { public static void main(String[] args) { Names nameInstance = name -> System.out.println("My Name is " + name); myName(nameInstance, "John"); } private static void myName(Names nameInstance, String name) { nameInstance.sayName(name); }}
λ表达式的目标类型是“函数接口”,这是java1.8的新概念。它的定义是:一个接口,如果只有一个显式声明的抽象方法,那么它就是一个函数接口。可以用@FunctionalInterface标注出来。也可以不标注。
注意,这个接口必须只有一个显式声明的抽象方法,其实也比较好理解,在λ表达式中我们根本没有写方法的名称,如果有多个显式的抽象方法的话,那么λ表达式怎么知道应该应用在哪个方法呢?
其实λ表达式的用法非常广泛,这里只是简单介绍一下,也是用的比较多的场景之一。
0 0
- JAVA 1.8 新特性学习(2) lambda表达式
- Java 1.8 新特性之(Lambda表达式)
- JAVA 新特性:lambda表达式
- Java新特性 lambda表达式
- Java8新特性学习(一)Lambda表达式介绍
- Java 8新特性:lambda表达式(四)转载总结
- java 8 新特性(2.Lambda表达式)
- Java 8 新特性(一)lambda表达式
- Java 8 新特性之 Lambda 表达式
- Java 8新特性:lambda表达式
- Java 8 新特性 Lambda表达式
- Java 8 新特性:Lambda 表达式
- Java JDK1.8新特性Lambda 表达式
- Java 8 新特性之 Lambda表达式
- W3Cschool Java 8新特性----> Lambda 表达式
- Java 8新特性:lambda表达式
- Java新特性-Lambda表达式入门
- Java新特性之二Lambda表达式
- C++/Copy Controls/Copy-Assignment operators
- CocosUI之TableView
- mybatis在xml文件中处理大于号小于号的方法
- Python 练习实例26
- tomcat 的server 中context的配置
- JAVA 1.8 新特性学习(2) lambda表达式
- 拼事务语句并获取事务返回值
- Again Stone Game (通过SG函数找规律)
- 【补充】CSS加载顺序
- springMVC学习之-------DispatcherServlet类
- 什么叫线程安全
- CF 472A Design Tutorial: Learn from Math
- 苹果机器人产线很会 拆解iPhone已上手
- 数据结构学习笔记(八)--最短路径