Javaにはラムダ式と同様にメソッド参照という機能があります。メソッド参照は、特定のメソッドへの簡潔な参照を提供し、コードをより簡潔で読みやすくします。以下は、Javaでのメソッド参照の主な種類と使い方についての解説です。
1. 静的メソッド参照
静的メソッド参照は、クラス名またはインターフェース名とメソッド名を組み合わせて、静的メソッドへの参照を表現します。例えば、以下のように使用できます。
// ラムダ式
Function<String, Integer> converterLambda = s -> Integer.parseInt(s);
// 静的メソッド参照
Function<String, Integer> converterReference = Integer::parseInt;
2. インスタンスメソッド参照
インスタンスメソッド参照は、オブジェクトのインスタンスとメソッド名を組み合わせて、そのインスタンスのメソッドへの参照を表現します。例えば、文字列の比較に使用できます。
// ラムダ式
BiPredicate<String, String> stringComparatorLambda = (s1, s2) -> s1.equals(s2);
// インスタンスメソッド参照
BiPredicate<String, String> stringComparatorReference = String::equals;
3. 特定のインスタンスのメソッド参照
特定のインスタンスのメソッド参照は、任意のオブジェクトのメソッドへの参照を表現します。例えば、以下のように使用できます。
// ラムダ式
Supplier<String> supplierLambda = () -> "Hello, World!";
// 特定のインスタンスのメソッド参照
Supplier<String> supplierReference = "Hello, World!"::toString;
メソッド参照は、特に関数型インターフェースを使用する場面でコードを簡潔にし、可読性を向上させるための強力なツールとなっています。使いどころを理解し、効果的に活用することで、Javaのコードをより洗練されたものにすることができます。