ホームページ > Java > &#&チュートリアル > Java でメソッドの参照渡しをシミュレートするにはどうすればよいですか?

Java でメソッドの参照渡しをシミュレートするにはどうすればよいですか?

DDD
リリース: 2024-12-21 07:45:10
オリジナル
315 人が閲覧しました

How Can I Simulate Pass-by-Reference for Methods in Java?

Java でメソッドの参照渡しをシミュレートする方法

Java では、メソッドをパラメータとして渡すことはとらえどころのない概念のように思えるかもしれませんが、同様の機能を実現できる別のアプローチもあります。そのような手法の 1 つは、インターフェイスの利用です。

インターフェイス自体は特定のメソッド実装を表すことはできませんが、メソッドのシグネチャを指定するコントラクトを定義します。これにより、インターフェイスに準拠し、目的のメソッド実装を提供する匿名の内部クラスまたはラムダ式を作成できます。

メソッドの参照渡しの動作を模倣することを目的とした次の例を考えてみましょう。

public void setAllComponents(Component[] myComponentArray, Command command) {
    for (Component leaf : myComponentArray) {
        if (leaf instanceof Container) { //recursive call if Container
            Container node = (Container) leaf;
            setAllComponents(node.getComponents(), command);
        } //end if node
        command.execute(leaf);
    } //end looping through components
}
ログイン後にコピー

ここで、Command は実行メソッドを定義するインターフェースです。その後、呼び出す実際のメソッド実装を表すこのインターフェイスのインスタンスを作成できます。

このアプローチを使用するには、次のように setAllComponents メソッドを呼び出します。

setAllComponents(this.getComponents(), new Command() {
    @Override
    public void execute(Component component) {
        // Code to execute for each component
    }
});
ログイン後にコピー

この手法特定のメソッド実装を setAllComponents メソッドに渡すことができ、参照渡し機能のようなものを提供します。

以上がJava でメソッドの参照渡しをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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