Java エラー: Lambda パラメーターの Java11 ローカル変数構文 (var キーワード) エラー、処理方法と回避方法
Java は、最新バージョン Java11 で新しいキーワード var を導入しました。これにより、明示的に宣言する必要がある型名を置き換えることができるため、コードが簡素化され、読みやすさが向上します。ただし、Lambda 式を使用する場合、var キーワードにより Lambda パラメータのローカル変数構文エラーが発生する場合があります。この記事では、このエラーの原因と対処方法と回避方法を紹介します。
なぜこのエラーが発生するのでしょうか?
Java11 より前では、ラムダ式の仮パラメータはその型を明示的に宣言する必要がありました。たとえば、文字列と整数を受け取る Lambda 式は次のようになります:
BiFunction<String, Integer, String> func = (String str, Integer num) -> str.substring(num);
Java 11 では、型名の代わりに var キーワードを使用して、上記のコードをより簡潔にすることができます:
BiFunction<String, Integer, String> func = (var str, var num) -> str.substring(num);
ただし、ラムダ式で var キーワードを使用するときにコンパイラがその型を推論できない場合、「ラムダパラメータのローカル変数構文」エラーが発生します。
たとえば、次のコードではこのエラーが発生します。
BiFunction<String, Integer, String> func = (var str, num) -> str.substring(num);
このうち、2 番目のパラメータ num では、型を明示的に宣言するために var キーワードが使用されていません。
このエラーに対処し、回避するにはどうすればよいですか?
このエラーに対処する方法は非常に簡単です。ラムダ式の各仮パラメータの型を明示的に指定するだけです:
BiFunction<String, Integer, String> func = (var str, Integer num) -> str.substring(num);
このようにして、コンパイラの型各仮パラメータが正しく推論できるようになり、Lambda パラメータのローカル変数構文エラーがなくなりました。
しかし、より良いアプローチは、ラムダ式での var キーワードの使用をできる限り減らすことです。 Java11ではvarキーワードは主にコードの簡略化や読みやすさの向上を目的として使用されていますが、ラムダ式では使い方を誤ると問題が発生します。したがって、ラムダ式を作成するときは、このエラーを回避するために各仮パラメータの型を明示的に指定することが最善です。
概要
Java11 では、var キーワードを使用するとコードが簡素化され、読みやすさが向上します。また、ラムダ式で使用すると、コードをより簡潔な形式にすることもできます。しかし同時に、var キーワードは、Lambda パラメータのローカル変数構文エラーなど、いくつかの詳細な問題も引き起こします。このエラーを回避するには、ラムダ式での var キーワードの使用を最小限に抑え、必要に応じて各仮パラメータの型を明示的に指定することをお勧めします。これにより、コードの可読性と正確性が保証され、開発効率が向上します。
以上がJava エラー: Lambda パラメーターの Java11 ローカル変数構文 (var キーワード) エラー、処理方法と回避方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
