码迷,mamicode.com
首页 > 编程语言 > 详细

Java8中Lamda表达式简介

时间:2018-08-12 14:13:36      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:ble   runnable   opened   inter   alt   pre   bin   bsp   表达式   

 


 

Lamda是Java8中引入的用于函数式编程的表达式;
Lamda形式上与匿名内部类比较相似,可以理解为匿名内部类的简化或变体(雾);
Java中常见的表达形式有一下几种:

技术分享图片
import java.util.function.BinaryOperator;

public class LamdaStyle {

public static void main(String[] args) {
//1. 无参类型,用括号代替
Runnable noArguments = () -> System.err.println("Hello World");

//2. 无参多代码块类型,可以用花括号括起来
Runnable multiStatement = () -> {
System.err.println("Hello ");
System.err.println("World");
};

//3.一个参数,可以省略参数的括号
LamdaInterface oneArgument = greeting -> System.err.println(greeting);

//4.多个参数
BinaryOperator<Integer> add = (x,y) -> x+y;

//5.声明参数类型
BinaryOperator<Integer> addExplicit = (Integer x, Integer y) -> x+y;
}
}

interface LamdaInterface{

void say(String greeting);

}
View Code

 

上面提到的是Lamda常见的5中形式;
在匿名内部类中,如果需要引用其外部定义的对象,必须将对象声明为final类型,在Lamda中,不要求显示的声明,但是编译器会将引用的对象作为final类型来处理,即不允许修改对象的引用;也就是说,Lamda表达式引用的是值,而不是变量;

 

参考:《Java8函数式编程》


抄歌词:想我这样优秀的人,本该灿烂过一生,怎么二十多年到头来,还在人海里沉沦

 

Java8中Lamda表达式简介

标签:ble   runnable   opened   inter   alt   pre   bin   bsp   表达式   

原文地址:https://www.cnblogs.com/NealRiver/p/9462632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!