Lambda表达式小例子
2017-09-29 15:45
162 查看
资料来源《第一行代码》
定义
Lambda表达式本质上是一种匿名方法,没有方法名,没有访问修饰符,没有返回值类型。使用准备
先要在module的build.gradle中配置android { compileSdkVersion 26 buildToolsVersion "26.0.0" defaultConfig { applicationId "com.wj.materialdemo" minSdkVersion 21 targetSdkVersion 26 versionCode 1 versionName "1.0" jackOptions.enabled = true testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } compileOptions{ sourceCompatibility org.gradle.api.JavaVersion.VERSION_1_8 targetCompatibility org.gradle.api.JavaVersion.VERSION_1_8 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
使用场景
符合接口中,只有一个待实现方法这个规则,就可以使用Lamdba表达式来编写private void testLamdba() { //创建一个线程 new Thread(() -> { }).start(); //创建一个接口 Runnable runnable = () -> { }; //创建一个自定义接口 MyListener listener = (String a, int b) -> { return a + b; }; //创建一个自定义接口,简化版本 MyListener listener2 = (a, b) -> { return a + b; }; //调用自定义方法 hello((a, b) -> { return a + b; }); //设置点击事件 Button button = new Button(this); button.setOnClickListener((v) -> { }); //设置点击事件 简化版本 如果只有一个参数,可以去掉括号 Button button2 = new Button(this); button2.setOnClickListener(v -> { }); } private void hello(MyListener listener) { String a = "hello Lambda"; int b = 1024; String result = listener.doSomeThing(a, b); } interface MyListener { String doSomeThing(String a, int b); }
相关文章推荐
- c++ 的 lambda 表达式小例子
- Java Lambda表达式例子
- lambda表达式的应用例子和JavaSE 8特性
- Java之Lambda表达式和Stream类简单例子
- java8 Lambda表达式的10个例子(转)
- Java8中Lambda表达式的10个例子
- 学习Java8中Lambda表达式的10个例子
- 一个小例子看下Lambda 表达式
- java1.8中Lambda表达式reduce聚合测试例子
- 动态创建Lambda 表达式的例子!
- Lambda表达式详解(例子详解)
- Java8中Lambda表达式的10个例子
- java1.8 lambda表达式十个例子
- jdk1.8的lambda表达式的简单例子
- (旧贴)一个复杂的boost.lambda表达式的例子
- Java8中Lambda表达式的10个例子
- Java8中Lambda表达式的10个例子
- Java8中Lambda表达式的10个例子
- Lambda表达式的例子
- 软件开发与数学基础 一个C#中的例子——lambda表达式