検索
ホームページJava&#&チュートリアルJava はモジュールコードの関数ポインターをどのように模倣できるのでしょうか?

How Can Java Mimic Function Pointers for Modular Code?

Java の関数ポインターの代替

Java には関数ポインターがないため、モジュール式の再利用可能なコードの作成が妨げられる可能性があります。ただし、匿名内部クラスという解決策があります。

単一行の計算を除いて同一の操作を実行する複数のメソッドの要件を考えてみましょう。理想的には、関数ポインターを渡すだけで十分ですが、Java はそれをサポートしていません。別の方法は、目的の関数を唯一のメンバーとして持つインターフェイスを定義することです。

たとえば、文字列を受け取り、整数を返す関数を定義するには、次のようにします。

interface StringFunction {
    int func(String param);
}

ここで、関数ポインタを受け入れるメソッドは StringFunction インスタンスを受け取ることができます:

public void takingMethod(StringFunction sf) {
    int i = sf.func("my string");
    // do other operations ...
}

このメソッドを呼び出すと次のようになります:

ref.takingMethod(new StringFunction() {
    public int func(String param) {
        // Implementation for the single changed line
    }
});

Java 8 では、ラムダ式を使用してこれをさらに簡略化できます。 :

ref.takingMethod(param -> {
    // Implementation for the single changed line
});

匿名の内部クラスまたはラムダ式を利用することで、Java プログラマは関数ポインタの機能を実現し、柔軟性とコードの再利用性を実現できます。

以上がJava はモジュールコードの関数ポインターをどのように模倣できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境