Java 10 でのローカル変数の型推論: ラムダ式で var キーワードを使用する方法
はじめに:
Java 10 では、ローカル変数の型推論の新機能が導入され、var を使用できるようになります。キーワードは、ローカル変数を宣言してその型を推測するときに使用します。ほとんどの場合、この機能は必要ありませんが、場合によっては、コードの読みやすさと単純さを向上させることができます。この記事では、ラムダ式で var キーワードを使用してローカル変数の型推論を実装する方法に焦点を当てます。
ローカル変数の型推論とは何ですか?
Java の以前のバージョンでは、ローカル変数を宣言するときにその型を明示的に指定する必要がありました。例:
String name = "John"; int age = 25;
ただし、Java 10 以降では、var キーワードを使用して、明示的に指定しなくても、右側の式に基づいてコンパイラーが変数の型を自動的に推測できるようになります。例:
var name = "John"; var age = 25;
この例では、コンパイラは、右側の式に基づいて、名前の型が String で、age の型が int であると推測します。
ラムダ式で var キーワードを使用する利点:
ラムダ式を使用するときは、通常、他のメソッドに渡す関数インターフェイスのインスタンスを作成します。 var キーワードを使用すると、ラムダ式インスタンスを作成するときにパラメーターの型を指定する手間が省けます。このようにして、パラメーターの型の宣言にあまり注意を払わずに、ラムダ式のロジックに集中することができます。
サンプル コード:
名前と年齢の 2 つの属性を含む Person という名前のクラスがあるとします。
class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } }
次に、Person オブジェクトの name 属性に基づいて並べ替えたいとします。 。 Java 10 より前では、Comparator のジェネリック型を手動で指定する必要がありました。
List<Person> persons = // 初始化Person对象列表 Collections.sort(persons, new Comparator<Person>() { @Override public int compare(Person p1, Person p2) { return p1.getName().compareTo(p2.getName()); } });
この例では、Comparator インターフェイスを実装する匿名の内部クラスを作成し、その中の Compare メソッドをオーバーライドしました。ただし、Java 10 の var キーワードを使用すると、コードがすっきりします。
List<Person> persons = // 初始化Person对象列表 Collections.sort(persons, (var p1, var p2) -> { return p1.getName().compareTo(p2.getName()); });
この例では、var キーワードを使用して、型を明示的に person として宣言することなく、p1 と p2 の型を推測します。
結論:
Java 10 のローカル変数の型推論は、よりクリーンで読みやすいコードを作成できる強力な機能です。ラムダ式で var キーワードを使用すると、パラメーターの型宣言にあまり注意を払うことなく、ロジックの実装に集中できます。もちろん、この機能は状況によっては非常に便利ですが、コードの保守性と読みやすさを確保するために、注意して使用する必要があります。
参考資料:
以上がJava 10 でのローカル変数の型推論: ラムダ式で var キーワードを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。