Lambda表达式是Java 8引入的一种表达式,lambda表达式允许你通过表达式来代替功能接口,让代码变的简单、而且可读、最重要的是代码量的减少。
代表符号:->。
读音:ˈlæmdə’
没有使用Lambda的老方法:
ImageView iv = (ImageView)findViewById(R.id.imageView); iv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { System.out.println("没有使用lambda"); } });使用Lambda:
ImageView iv = (ImageView)findViewById(R.id.imageView); iv.setOnClickListener(v -> System.out.println("使用lambda"));没有使用Lambda的老方法:
Thread thread = new Thread(new Runnable() { @Override public void run() { System.out.println("没有使用lambda"); } });使用Lambda:
Thread thread = new Thread(() -> System.out.println("使用lambda"));这只是我们最经常用到的两种情况。
在可以修改位置按下alt+enter键(可以修改位置是成灰色)
jdk8下载地址
java环境配置—作者:烟花易冷JCL
1.Modle的build.gradle里添加
apply plugin: 'me.tatarka.retrolambda' android{ compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }2.Project的build.gradle里添加
buildscript { repositories { mavenCentral() maven { url "http://maven.oschina.net/content/groups/public" } } dependencies { classpath 'me.tatarka:gradle-retrolambda:2.5.0' } }3.编译完成。
Modle的build.gradle里添加
android { defaultConfig { jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }编译完成。
需要在Modle的build.gradle里添加
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }结束。