Android Studio 3.0及以上版本支持Java 7所有语言特性和Java 8部分语言特性。
Android Studio对Java 8的支持其实是给源码包上了一层语法糖,最后编译成字节码时会自动去掉这层糖衣。
在build.gradle中设置支持Java 8语言新特性
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
复制代码
或者通过Android Studio设置
Android Studio对Java 8 的支持情况
Java 8 Lambda Expression
Lambda Expression大大简化了匿名内部类的写法,使得代码更简洁。Lambda Expression & Functional Interfaces & Method and Constructor References这一套东西看起来其实蛮像代理模式。