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

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください