lambda表达式

2017-11-03  本文已影响0人  成虫_62d0

Lambda Quick Start笔记

背景

匿名内部类

在java中,如果某些功能实现只在程序中使用一次,那么一般就用匿名内部类来实现。例如在android中view的事件绑定。

而且匿名内部类会引用其外部类的对象,这样就容易造成内存泄露。

另外,匿名内部类看起来很繁杂,不优雅。

但是在java中,使用方法接口(functional interfaces)匿名内部类是一种通行的模式。如Runnable Comparator也是这种方式。现在这些都可以用lambda表达式来替换实现。

Lambda Expression Syntax

Argument List Arrow Tocken Body
(int x,inty) -> x + y

常用使用场景

用lambda表达式改善代码

lambda表达式对“Don't Repeat Yourself”原则提供了更好的支持,使得我们的代码更简洁,可读性更高

一个常见的条件过滤用例

一个常见的用例就是从一个集合中找出符合某特定条件的子集。

下面这个例子我们需要在美国分出三个组的人:

代码

https://github.com/nanhuaqq/LambdaLearn

java.util.function包介绍

Predicate不是java8提供的唯一功能接口,除了它还有如下功能接口

Lambda Expressions and Collections

上一篇 下一篇

猜你喜欢

热点阅读