Java は非常に人気のあるプログラミング言語であり、Java で作成されたアプリケーションはさまざまな分野で広く使用されています。 Java 8 ではラムダ式の機能が導入され、Java プログラム開発がより効率的かつ柔軟になります。ただし、Lambda 式を使用すると、さまざまなエラーが発生することもあります。この記事では、Java 8 Lambda エラーと、それらのエラーを処理および回避する方法に焦点を当てます。
Java 8 Lambda 式の基本構文
Java 8 Lambda エラーを紹介する前に、まず Lambda 式の基本構文を理解しましょう。ラムダ式は主に、パラメータ リストとラムダ本体の 2 つの部分で構成されます。
ラムダ式のパラメータ リストは空にすることも、1 つ以上のパラメータを含めることもできます。パラメータ リストが空でない場合は、パラメータ リストを括弧 () で囲み、複数のパラメータをカンマで区切る必要があります。
Lambda 式の Lambda 本体は、式またはコード ブロックにすることができます。ラムダ本体が式の場合、中括弧 {} と return キーワードは省略できます。 Lambda 本体がコード ブロックの場合は、中かっこ {} を使用してコード ブロックを囲み、return キーワードを使用して値を返すか、値を返さないようにする必要があります。
次は、Java 8 ラムダ式の基本的な構文例です。
(parameter1, parameter2, …) -> { //Lambda body }
Java 8 ラムダ式のエラー分類
Java 8 ラムダ式のエラーは次のように分類できます。次の 3 つのカテゴリに分類されます。
() -> System.out.println("Hello World!";上記のコードでは、ラムダ式に右括弧が欠落しているため、コンパイル エラーが発生します。 解決策: エラー プロンプトに従ってコードを変更し、ラムダ式の文法構造が正しいことを確認する必要があります。
List<String> list = new ArrayList<>(); list.forEach(str -> System.out.println(str.length()));上記のコードでは、ラムダ式のパラメータ str は文字列型ですが、ラムダ本体で str.length() メソッドを使用して文字列の長さを取得しているため、コンパイルエラー。 length() メソッドは String クラスで定義されており、str は Object 型であるため、length() メソッドを直接呼び出すことはできません。 解決策: エラー プロンプトに従ってコードを変更し、ラムダ式のパラメーターの型が使用されるメソッドの型と一致するようにする必要があります。
int i = 10; List<Integer> list = new ArrayList<>(); list.forEach(num -> System.out.println(i / num));上記のコードでは、ラムダ式のパラメータ num は i で除算するために使用される整数ですが、num が 0 の場合、0 による除算例外が発生します。 解決策: ラムダ式を実行する前に、パラメータ値が 0 による除算を避けるために正当であるかどうかを判断する必要があります。または、ラムダ式の本体内の除数を判断して、0 による除算の例外を回避します。 Java 8 Lambda エラーを回避する方法Java 8 Lambda エラーを回避するには、次の措置を講じることができます:
以上がJava エラー: Java8 Lamdba エラー、処理方法と回避方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。