Lambda表达式

一、前言

JDK的升级目前有以下几个方面:
1、增加新的功能
2、修复Bug
3、性能优化
4、简化代码等
Lambda表达式就属于简化代码,用于简化匿名实现类,提供一种更加简洁的写法。Lambda表达式在Swift语言中称之为代码块,Lambda表达式可以认为是一种特殊的接口,该接口必须只有一个抽象方法。
@[TOC]二、语法格式

二、语法格式

(参数类型 参数名, 参数类型 参数名2... )->{
//code
};

小括号中的内容就是方法中的参数列表,其中参数类型是可以省略的,当参数个数是一个时,也可以省略小括号。
花括号中的内容就是方法中的方法体,当方法体中只有一行代码时可以省略{},当方法体中只有一行代码且需要返回值时可以省略掉return。

三、作用

  • 简化匿名实现类的书写
  • 作为函数中的参数来传递
    for example:
    两个参数一个返回值:
    Hello是一个很普通的接口,但接口中只能有一个抽象方法。
public interface Hello {
String sayHello(String name, String msg);
}

Main

public calss Main{
public static void main(String[] args) {
//将Lambda表达式赋值给一个接口,说明该表达式就是一种接口数据类型,只不过该接口只能有一个抽象数据方法。
//在JDK1.8中有个叫类型推断的东西,可以自动推断出类型的参数,由于Hello中只有一个抽象方法,知道方法名就知道参数列表了,从而就能推断出参数类型来。
Hello iHello = (String name,String msg) -> {
String hello = name + ":" + msg;
return hello;
};
//调用接口的方法
String content = iHello.sayHello("mengday", "happy new year everyone!");
System.out.println(content);
}
}

版权声明:本文为py826826原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。