【Java】ラムダ式


Javaについて、復習しながら更新していきます。
今回のテーマはラムダ式!!

ラムダ式

関数型インタフェース(抽象メソッドが1つだけ定義されているインタフェース)を限定的に使用したい場合、匿名クラスよりも、ラムダ式を使用するほうが簡単に記述することができる。インタフェースの抽象メソッドをオーバライドして使用する形となる。


[構文]

(型 引数1,型 引数2,,) ->
{
//インタフェースの関数の実装
処理;
return 戻り値;
}


・関数型インタフェースは抽象メソッドが一つしか存在しないため、引数の型は省略可能。

(引数1) ->
{
//インタフェースの関数の実装
処理;
return 戻り値;
}


・処理が1文の場合{}についても省略可能。この場合returnも省略可能。

引数1 -> 処理内容





[例]
import java.util.function.Function;

class Exe
{
	public static void main(String[] args)
	{
		//匿名クラスを使用
		Function rum1 = new Function()
		{
			public String apply(String str)
			{
				return "Hello " + str;
			}
		};
		System.out.println(rum1.apply("匿名クラス"));

		//ラムダ式
		Function rum2 = (String str) ->
		{
			return "Hello " + str;
		};
		System.out.println(rum2.apply("ラムダ式"));

		//ラムダ式(省略)
		Function f3 = str -> "Hello " + str;
		System.out.println(f3.apply("ラムダ式(省略)"));
	}
}


以上。




【ブログを始めるなら】

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA