Java Lambda表达式

一、概述

  • Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性;
  • Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中);
  • 能够使用Lambda的依据是必须有相应的函数接口(函数接口,是指内部只有一个抽象方法的接口)。
  • 更多内容阅读Java基础(十六) 回调函数
// 1. 不需要参数,返回值为 5  
() -> 5  
  
// 2. 接收一个参数(数字类型),返回其2倍的值  
x -> 2 * x  
  
// 3. 接受2个参数(数字),并返回他们的差值  
(x, y) -> x – y  
  
// 4. 接收2个int型整数,返回他们的和  
(int x, int y) -> x + y  
  
// 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)  
(String s) -> System.out.print(s)

二、具体使用

语法一:()->{}

无参数时,直接这么写

Runnable run = () -> System.out.println("Hello World");// 1

有一个参数时,直接 参数名 -> {}

  View.OnClickListener listener = view -> System.out.println("button clicked");//2

有多个参数时,只需要在()里写上参数名字就可以

 View.OnFocusChangeListener listener = (view, b) -> {};

语法二:::(两个英文冒号)

 RequestTask task1 = (args1, args2, args3) -> LambdaTest.getData(args1,args2,args3);
 RequestTask task2 = LambdaTest::getData;
 
person -> person.getAge();
Person::getAge

更多参考Java 8 Lambda 表达式

发布了138 篇原创文章 · 获赞 146 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章