ホームページ > Java > &#&チュートリアル > メソッドのリファレンス

メソッドのリファレンス

Linda Hamilton
リリース: 2025-01-14 08:56:42
オリジナル
509 人が閲覧しました

Referências de método

  • コンセプト: メソッド参照を使用すると、メソッドを実行せずに参照できます。

  • ラムダ式との関係: どちらも、互換性のある関数インターフェイスで構成されるターゲット型コンテキストが必要です。

  • 関数インスタンス: メソッド参照は、評価時に関数インターフェイスのインスタンスを作成します。

静的メソッドへの参照

  • クラス名とメソッドは二重コロン (::) で区切られ、JDK 8 に挿入されます。

  • ターゲット タイプと互換性のある場所であればどこでも使用できます。

静的メソッドへの参照の例

  • 機能インターフェース:
    名前: IntPredicate
    メソッド: test(int 値)
    パラメータ: 整数。
    戻り値: ブール値 (整数値の条件をテストします)。

  • 補助クラス:
    名前: MyIntPredicate
    実装された静的メソッド:
    isPrime(): 数値が素数かどうかを確認します。
    isEven(): 数値が偶数かどうかをチェックします。
    isPositive(): 数値が正であるかどうかを確認します。

  • メインメソッド:
    名前: numTest()
    パラメータ:
    IntPredicate.
    インターフェイスへの参照 テストされる整数。

  • 実行:
    main() メソッドでは、numTest() を使用して 3 つのテストが実行されます。
    各テストでは、特定のメソッド参照 (isPrime、isEven、isPositive) が実行用の引数として渡されます。

// 静的メソッドへの参照を示します。
//
で動作する数値述語の関数インターフェイス // 整数値。
インターフェース IntPredicate {
ブール値テスト(int n);
}
// このクラスは、整数をチェックする 3 つの静的メソッドを定義します
// 何らかの条件に関連して。
class MyIntPredicate {
// 数値が素数の場合に true を返す静的メソッド。
静的ブール値 isPrime(int n) {
if(n for(int i=2; i if((n % i) == 0)
false を返します;
}
true を返します;
}
// 数値が偶数の場合に true を返す静的メソッド。
静的ブール値 isEven(int n) {
return (n % 2) == 0;
}
// 数値が正の場合に true を返す静的メソッド。
静的ブール値 isPositive(int n) {
n を返す > 0;
}
}
class MethodRefDemo {
// このメソッドはその型として関数型インターフェースを持っています
// 最初のパラメータ。したがって、
への参照を受け取る可能性があります。 // このインターフェースの任意のインスタンス (作成されたものを含む)
// メソッド参照による。
static boolean numTest(IntPredicate p, int v) {
return p.test(v);
}
public static void main(String args[])
{
ブール値の結果;
// ここで、isPrime メソッドへの参照が numTest().
に渡されます。 result = numTest(MyIntPredicates::isPrime, 17);
if(result) System.out.println("17 は素数です。");
// その後、isEven メソッドへの参照が使用されます。
result = numTest(MyIntPredicates::isEven, 12);
if(result) System.out.println("12 は偶数です。");
// これで、isPositive メソッドへの参照が渡されます。
result = numTest(MyIntPredicates::isPositive, 11);
if(result) System.out.println("11 は正です。");
}
}

  • 静的メソッド isPrime() への参照は、引数として numTest() メソッドに渡されます。

  • isPrime() メソッドは、IntPredicate 関数インターフェイスと互換性があります。

  • 式 MyIntPredicate::isPrime は、isPrime() が IntPredicate の test() メソッドを実装する参照を作成します。

  • numTest() への他の呼び出しは、同じ互換性と動作原理に従います。

  • ブール署名 test(int n) を持つメソッドは、IntPredicate インターフェイスの参照として使用できます。

以上がメソッドのリファレンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート