长沙java培训
达内长沙芙蓉路中心

18487146383

热门课程

达内长沙java培训详解:为什么要用Lambda表达式

  • 时间:2016-12-07
  • 发布:长沙Java培训
  • 来源:开源中国

lambda表达式能让我们拥有更加紧凑的代码,更加易于阅读和跟踪。

通过比较使用和没使用lambda的main方式实现,当它一下子把代码变得简短的时候,我们切实地看到了lambda表达式的能力:

public static void main(String[] args) {

LambdaDemo demo = new LambdaDemo();

String something = "I am learning Lambda";

/**/

Printer printer = (String toPrint)->{System.out.println(toPrint);};

/**/

demo.printSomething(something, printer);

}

达内长沙java培训还可以让代码比这里所展示的更简洁。这样的事情发生时,你甚至无需指定箭头左边参数的类型,而其类型会由编译器根据接口方法的形参推断出来。

Printer printer = (toPrint)->{System.out.println(toPrint);};

我们还可以做得更好。lambda的另外一个特性就是:如果只有一个参数,就可以将括弧完全消除掉。同样的,如果在箭头右边只有一条语句,也可以将大括号去掉:

Printer printer = toPrint -> System.out.println(toPrint);

现在的代码看起来真正变得可爱起来,不过我们才刚刚开始而已。如果我们的接口方法并不要任何参数,那就可以将生命用一对空的括弧替换掉:

() -> System.out.println("anything");

如果我们只是内联一个lambda进去,而不去首先创建一个对象然后将其传入到saySomething方法,会如何呢:

public static void main(String[] args) {

LambdaDemo demo = new LambdaDemo();

String something="I am Lambda";

/**/

demo.printSomething(something, toPrint -> System.out.println(toPrint));

}

我们的main函数体从一开始的9行代码减少到了3行。这样紧凑的代码使得lambda表达式对于Java程序员非常有吸引力。

长沙Java培训选长沙达内,详情请登陆长沙达内Java培训官网(cs.Java.tedu.cn)!

上一篇:2017年热门编程语言排行榜,java又是第一
下一篇:达内长沙java培训详解:什么是Lambda表达式

达内长沙Java培训教你阅读GC日志

spring注入配置文件属性到java类

Java中Vector和ArrayList的区别

达内长沙Java培训详解volatile关键字

选择城市和中心
贵州省

广西省

海南省