Java8からラムダ式が利用できるようになっている話はよく聞くのですが、実際に試したことが無かったので試してみました。ラムダ式とはメソッドを簡単に記述するための記法とのことです。
ラムダ式の基本構文
( 型 引数, ...) -> {... 任意の処理 ...}
サンプル
まずサンプル用のインターフェイスクラスを用意します。
package jp.co.bbreak.sokusen._1._10; public interface InterfaceSample { abstract void sampleMethod(String name); }
上のインターフェイスクラスとラムダ式を使った処理を実装したクラスはこんな感じです。
package jp.co.bbreak.sokusen._1._10; public class LambdaSample { public static void main(String[] args) { // ラムダ式で処理を実装する InterfaceSample lambda = (String name) -> { System.out.println(name + "です。"); }; // 実装した処理を使用する lambda.sampleMethod("田中"); } }
これで無事に動かすことができました。
おまけ:匿名クラスについて
Java7以前はラムダ式を利用できませんが、匿名クラスをつかって似たような実装ができるようになっています。
package jp.co.bbreak.sokusen._1._10; public class AnonymousSample { public static void main(String[] args) { // 匿名クラスで処理を実装する InterfaceSample anonymous = new InterfaceSample() { public void sampleMethod(String name) { System.out.println(name + "です。"); } }; // 実装したメソッドの使用 anonymous.sampleMethod("田中"); } }
比較するとラムダ式の方がスッキリしていることを確認できると思います。