Java 8十个lambda表达式案例
http://blog.csdn.net/foreverling/article/details/50204365
::(双冒号)在Java 8的接线员
http://www.4byte.cn/question/373198/double-colon-operator-in-java-8.html
lambda 語法
input -> body
view -> Log.d(“l”,”log”)
intput 类型
- 无参
- void () -> body
- 单个参数
- x -> Log.d(“l”,”log”)
- 两(多)个参数
- (x, y) -> x + y;
- 不省略参数类型
- (int x, int y) -> x + y;
body 类型
- 方法体为空
- (x, y ) -> {}
- 单行,可省略{}
- (x, y) -> x + y
- 多行无返回值(void )
- (x, y) ->{ x * x; y * y; }
- 多行有返回值
- (x, y) ->{ x * x; y * y; return x + y; }
在 Android 使用
具体参见:https://github.com/evant/gradle-retrolambda
http://blog.csdn.net/cai_iac/article/details/50846139在android studio 中使用Lambda
http://www.cnblogs.com/tianzhijiexian/p/4633377.html
lambda表示数学符号“λ”,计算机领域中λ代表“λ演算”,表达了计算机中最基本的概念:“调用”和“置换”。.
2、为什么要使用lambda表达式
一、Java是面向对象的语言,不能象函数式语言那样嵌套定义方法。
二、Java的匿名内部类只能存在于创建它的线程中,不能运行在多线程中,无法充分利用多核的硬件优势。
三、匿名内部类的缺点还有:
1. 语法相对复杂。
2. 在调用内部类的上下文中,指引和this的指代容易混淆。
3. 类加载和实例创建语法不可避免。
4. 不能引用外部的非final对象。
5. 不能抽象化控制流程
3-如何使用lambda
lambda的语法包括三部分
1、参数列表
2、箭头符号"->"
3、代码块
【案例】用lambda简化Runnable接口的实现方式
【案例】lambda实现自定义接口,模拟登陆操作
da