Java8から導入された新要素である”ラムダ式”が、まだよくわかっていないので学習しておきます。
ラムダ式とは
ラムダ式とは、抽象メソッドを1つだけ持つインタフェースのインスタンスを、簡潔に生成する構文のことです。
(これを関数型インターフェースと言います)
つまり、関数型インターフェースに関する処理を簡単に書く方法ってことですかね。
ラムダ式の使用例
代表的な関数型インターフェースとして「Runnable」があるので、これを例にこれまでの書き方と比較をしてみます。
これまで(Java7まで)の処理
public class SubThread implements Runnable { public void run() { System.out.println("Hello World"); } } public class Main { public static void main(String[] args) { SubThread sub = new SubThread(); Thread thread = new Thread(sub); thread.start(); } }
ラムダ式を使った処理
public class Main { public static void main(String[] args) { Runnable r = () -> System.out.println("Hello World"); Thread thread2 = new Thread(r); thread2.start(); } }
抽象メソッドは1つだけなんだから、いちいち宣言とかしなくて良くね?って発想で考えれば良いですかね。
コードはスッキリしましたが、私自身まだ使うには慣れが必要そうです。
ただ少なくともこれからラムダ式で書かれたソースコードは増えてくると思うので、読めるようにはならなくては・・・という心境です。
Javaによる関数型プログラミング ―Java 8ラムダ式とStream
posted with カエレバ
Venkat Subramaniam オライリージャパン 2014-10-24
コメント