Java8-lambda-expressions
提供:Dev Guides
Java 8-ラムダ式
ラムダ式はJava 8で導入され、Java 8の最大の機能であると宣伝されています。 ラムダ式は関数型プログラミングを容易にし、開発を大幅に簡素化します。
構文
ラムダ式は、次の構文によって特徴付けられます。
以下は、ラムダ式の重要な特徴です。
- オプションの型宣言-パラメータの型を宣言する必要はありません。 コンパイラーは、パラメーターの値から同じことを推測できます。
- パラメータを囲むオプションの括弧-括弧で単一のパラメータを宣言する必要はありません。 複数のパラメーターの場合、括弧が必要です。
- オプションの中括弧-本体に単一のステートメントが含まれる場合、式の本体で中括弧を使用する必要はありません。
- オプションのreturnキーワード-値を返す単一の式が本体にある場合、コンパイラは自動的に値を返します。 式が値を返すことを示すには、中括弧が必要です。
ラムダ式の例
C:\> JAVAなどで選択した任意のエディターを使用して、次のJavaプログラムを作成します。
Java8Tester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
次のようにJava8Testerを実行します-
それは次の出力を生成する必要があります-
上記の例で考慮すべき重要な点を次に示します。
- ラムダ式は主に、機能的なインターフェイス、つまり単一のメソッドのみを持つインターフェイスのインライン実装を定義するために使用されます。 上記の例では、さまざまなタイプのラムダ式を使用して、MathOperationインターフェースの操作メソッドを定義しました。 次に、GreetingServiceのsayMessageの実装を定義しました。
- ラムダ式は、匿名クラスの必要性を排除し、Javaに非常にシンプルでありながら強力な関数型プログラミング機能を提供します。
範囲
ラムダ式を使用すると、任意の最終変数または事実上最終変数(一度だけ割り当てられる)を参照できます。 変数に値が2回割り当てられた場合、Lambda式はコンパイルエラーをスローします。
スコープの例
C:\> JAVAなどで選択した任意のエディターを使用して、次のJavaプログラムを作成します。
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
次のようにJava8Testerを実行します-
それは次の出力を生成する必要があります-