美文网首页
java lambda表达式

java lambda表达式

作者: DickLong | 来源:发表于2018-10-16 15:19 被阅读2次

lambda表达式由参数,箭头和主体组成

(Integer a,Integer b)  ->  a.comparaTo(b)

参数                         箭头           主体

参数中的类型Integer可以不写,编译器可以从上下文推断出来

表达式可以用在函数式接口中,比如上面的lambda就是一个比较器:

public interface Comparator<T>{

int compare(T t1,T t2);

}

可以做为一个Comparator传递。所谓函数式接口,从定义上来说就是一个只定义了一个抽象方法的接口,在jdk1.8以后这样的函数式接口经常会看到打上了@FunctionalInterface注解,这个注解用来表示该接口会被定义成为一个函数式接口。如果你用了这个注解标注一个接口,而它却不是被设计成为函数式接口的话,编译器会返回错误。但是这个注解也不是必须的,只是作为检查。

函数式接口的抽象方法的签名基本上就是lambda表达式的签名,我们将这种抽象方法叫做函数描述符

编译器会对lambda表达式做在给定的上下文做类型检查,只有签名符合的才能编译通过。

lambda的类型是从使用lambda的上下文推断出来的,上下文中lambda表达式的类型称为目标类型。下面的例子概述了类型检查的过程。

相关文章

  • Java 8 - Lambda表达式

    Java 8 - Lambda表达式 1 Java 8-概述2 Java 8 - Lambda表达式3 Java ...

  • 【Java】4.0 Java中lambda表达式(下)

    【Java】3.0 Java中lambda表达式(上)【Java】4.0 Java中lambda表达式(下) 7....

  • java 8 lambda表达式中的异常处理

    java 8 lambda表达式中的异常处理 简介 java 8中引入了lambda表达式,lambda表达式可以...

  • java8

    1.lambda表达式《java8 Lambda表达式简介》 《java8 lambda表达式,方法的引用以及构造...

  • 《Java 8实战》学习总结

    Java 8新特性概览 Lambda表达式 流 默认方法 Lambda表达式 Lambda和函数式接口Java 8...

  • Java零基础自学DAY10 2018-03-22

    Java 8 新增的lambda表达式 Lambda 转换: Lambda表达式组成: 形参列表 箭头 ( ->)...

  • Java 8、9 语言新特性

    Java语言新特性 Java8 Java 8 新特性 Lambda 表达式 Lambda表达式(也叫做闭包)是Ja...

  • Java的Lambda表达式

    Java的Lambda表达式 1. 什么是Lambda表达式 简单的说,Lambda表达式就是匿名方法。Lambd...

  • Lambda表达式

    Lambda表达式与函数式接口紧密相关,函数式接口介绍 Lambda表达式的基本语法 Java Lambda表达式...

  • 7 Lambda表达式

    Lambda表达式是Java8的重要更新,Lambda表达式支持将代码块作为方法参数,Lambda表达式允...

网友评论

      本文标题:java lambda表达式

      本文链接:https://www.haomeiwen.com/subject/vvwjettx.html