ホームページ  >  記事  >  Java  >  匿名内部クラスまたはラムダ式を使用して Java で関数ポインタをシミュレートするにはどうすればよいですか?

匿名内部クラスまたはラムダ式を使用して Java で関数ポインタをシミュレートするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-20 13:39:22634ブラウズ

How Can I Simulate Function Pointers in Java Using Anonymous Inner Classes or Lambda Expressions?

Java の関数ポインターとしての関数インターフェース

Java では、関数ポインターが利用できないため、匿名の内部クラスまたはラムダ式が適切な代替手段として機能します。 .

匿名のインナークラス

同様のアクションを実行するが、1 行の計算でわずかに異なるメソッドが必要であると想像してください。匿名内部クラスを使用してこれを実装するには:

  1. カプセル化する関数を含むインターフェイスを定義します。
interface StringFunction {
    int func(String param);
}
  1. インターフェースのインスタンスをパラメータ。
public void takingMethod(StringFunction sf) {
    int i = sf.func("my string");
    // Operations...
}
  1. 匿名の内部クラスを使用してメソッドを呼び出します:
ref.takingMethod(new StringFunction() {
    public int func(String param) {
        // Implementation...
    }
});

ラムダ式 (Java 8 )

構文的に単純なので、ラムダ式を利用して次のことを行うことができます。同じ結果が得られます:

ref.takingMethod(param -> {
    // Implementation...
});

匿名の内部クラスまたはラムダ式を利用すると、Java で関数ポインタを作成でき、コードの再利用性と柔軟性が向上します。

以上が匿名内部クラスまたはラムダ式を使用して Java で関数ポインタをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。