内容简介:Java 8 lambda初试
λ表达式本质上是一个匿名方法。让我们来看下面这个例子:
public int add(int x, int y) { return x + y; }
转成λ表达式后是这个样子:
(int x, int y) -> x + y;
参数类型也可以省略,Java编译器会根据上下文推断出来:
(x, y) -> x + y; //返回两数之和
或者
(x, y) -> { return x + y; } //显式指明返回值
可见λ表达式有三部分组成:参数列表,箭头(->),以及一个表达式或语句块。
下面这个例子里的λ表达式没有参数,也没有返回值(相当于一个方法接受0个参数,返回void,其实就是Runnable里run方法的一个实现):
() -> { System.out.println("Hello Lambda!"); }
如果只有一个参数且可以被 Java 推断出类型,那么参数列表的括号也可以省略:
c -> { return c.size(); }
public static void main(String[] args) { Arrays.asList( "a", "b", "d" ).forEach( e -> { System.out.print( e +"\n"); } ); System.out.print( "\n--------------------------" ); Arrays.asList( "a", "b", "d" ).sort( ( e1, e2 ) -> e1.compareTo( e2 ) ); /** * 可见λ表达式有三部分组成:参数列表,箭头(->),以及一个表达式或语句块。 * 下面这个例子里的λ表达式没有参数,也没有返回值(相当于一个方法接受0个参数,返回void,其实就是Runnable里run方法的一个实现): * () -> { System.out.println("Hello Lambda!"); } */ Thread t2=new Thread(()->{ System.out.println("This is from an anonymous method (lambda exp).\n"); }); t2.start(); /** * 迭代LIST */ List<String> listStr=new ArrayList<>(); listStr.add("sss"); listStr.add("1111"); listStr.forEach(e->{ if(e.equals("sss")){ System.out.print(e); } }); }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- IntersectionObserve初试
- 初试 Helm 3
- 初试MongoDB数据库
- Podman 初试 - 容器发展史
- Nginx + Node + Vue 部署初试
- 体验下 Go 语言的魅力(初试)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Effective Python
布雷特·斯拉特金(Brett Slatkin) / 爱飞翔 / 机械工业出版社 / 2016-1 / 59
用Python编写程序,是相当容易的,所以这门语言非常流行。但若想掌握Python所特有的优势、魅力和表达能力,则相当困难,而且语言中还有很多隐藏的陷阱,容易令开发者犯错。 本书可以帮你掌握真正的Pythonic编程方式,令你能够完全发挥出Python语言的强大功能,并写出健壮而高效的代码。Scott Meyers在畅销书《Effective C++》中开创了一种以使用场景为主导的精练教学方......一起来看看 《Effective Python》 这本书的介绍吧!