Android & Java8

399 阅读1分钟

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设置

支持Java 8语言新特性

Android Studio对Java 8 的支持情况

支持Java 8语言新特性

Java 8 Lambda Expression

Lambda Expression大大简化了匿名内部类的写法,使得代码更简洁。Lambda Expression & Functional Interfaces & Method and Constructor References这一套东西看起来其实蛮像代理模式。

更多细节参见官方文档