美文网首页程序员
Lambda学习笔记

Lambda学习笔记

作者: GYLEE | 来源:发表于2016-08-26 22:53 被阅读100次

一、典型场景--点击事件
java语言:
button.addActionListener(new ActionListener()){
public void actionPerformed(ActionEvent event){
println(''button clicked'')
}
}
lambda表达式写法:
button.addActionListener(event -> println(''button clicked''));
二、函数式接口
函数式接口是完完全全的接口,和interface没有任何区别。
首先看一下Jdk中的Runnable接口, 它就是一个函数式接口。
public interface Runnable {
public abstract void run();
}
只包含一个抽象方法的接口, 我们称之为函数式接口。
匿名内部类的写法:
new Thread(new Runnable() {
@Override
public void run() {
doSomeThing();
}
}).start();
Lambda表达式的写法:
new Thread(
() -> dosomething()
).start();
三、Lambda表达式
a.类型
Java中的lambda表达式是有类型的,每个lambda表达式 的类型对应着一个函 数式接口
b.几种基本的写法
Runnable noArgument = () -> System.out.println("Hello, world!");
ActionListener onArgument = event -> System.out.println("button clicked");
Runnable multiStatement = () -> {
System.out.print("Hello, ");
System.out.println(" world");
};
BinaryOperator<Long> add = (x, y) -> x + y;
BinaryOperator<Long> addExplicit = (Long x, Long y) -> x + y; //显式声明 类型参数

C.Lambda表达式的基本组成
一个是表达式参数,用()包含;二是代码块,用{}包含。这两部分之间用 -> 分开。
Lambda表达式参数部分:参数的类型、()都可以酌情省略。
注意:
1.lambda表达式对应的接口抽象方法没有参数,此时的()不可省略。
2.有一个参数时,()可以省略,参数类型酌情省略
栗子:
1). (ActionEvent event) ->{} 2). (event) -> {} 3). event -> {}
3.参数大于一个时,()不可省略。
D.代码块
当lambda表达式对应的函数式接口的抽象方法存在返回值,并且代码块中仅有返回语句,可以省略return关键字。

相关文章

  • Java 学习笔记(13)——lambda 表达式

    title: Java 学习笔记(11)——lambda 表达式tags: [Java 基础, 学习笔记, 函数式...

  • 2018-10-23

    java学习笔记(四) 简单地讲讲Lambda表达式 Lambda管中窥豹 在前一篇文章中,已经看见了Lambda...

  • Java8学习笔记目录

    Java8学习笔记 -- 接口的默认方法与静态方法 Java8学习笔记 -- Lambda表达式,Function...

  • Lambda学习笔记

    一、典型场景--点击事件java语言:button.addActionListener(new ActionLis...

  • Lambda 学习笔记

    历史 莱布尼茨曾有过以下两个想法: 创造一门‘形式语言’,来描述所有可能的问题 找到一种方法,可以解决所有该形式语...

  • Lambda 表达式

    Lambda 表达式 声明:java8新特性系列为个人学习笔记,参考地址点击这里,侵删!! Lambda 表达式,...

  • JDK8 Lambda & Stream使用笔记

    JDK8 Lambda & Stream使用笔记 简介 Lambda Stream Lambda语法 抽象语法结构...

  • Java Lambda 学习笔记

    开发环境 eclipse 4.7.3a jdk 9 案例 通常我们在开发过程中会遇到如下需求: 需求1:找到大于指...

  • lambda MART 学习笔记

    1. 排序问题的解决方法可总结为3种:point wise,pair wise,list wise。 2. Lam...

  • Kotlin学习笔记——lambda

    参考文献——kotlin之Lambda编程来自简书作者——程自舟 Kotlin lambda语法 完整写法 省略参...

网友评论

    本文标题:Lambda学习笔记

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