Android Studio3系でJava8の機能を使いたい

自作AndroidアプリTwitMorseの改修でJava8の機能を使いたいと思った。

例えばラムダ式やStreamAPIなど。

  String str = "あいうえおABCかきくけこ";
String[] ar = str.split("");
Arrays.stream(ar).forEach(e -> System.out.println(e));  

↑これ(Stream)が使いたかった。

app/build.gradleに下記を入れるとJava8の書き方が使えるようになる。

build.gradle

android {
...
...
// for Java8
// see : https://developer.android.com/studio/write/java8-support?hl=JA
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

これで下記のような書き方のコードサジェスチョンがAndroidStudio上で出るようになる。

Arrays.stream(ar).forEach(e -> System.out.println(e));  

ただしJava8全ての書き方をサポートしているわけではないので注意。

【参考】
Java 8 言語機能の使用 | Android Developers

コメントを残す

This site uses Akismet to reduce spam. Learn how your comment data is processed.