Java の関数ポインターに最も近い代替手段
Java には関数ポインターがないため、多少の違いはあるものの同様のタスクを実行するメソッドを作成する際に課題が生じます。これに対処するための適切な代替案は、匿名内部クラスを使用することです。
匿名内部クラスの解決策
匿名内部クラスを使用すると、別の名前付き内部クラスを作成せずにメソッドを定義できます。クラス。これは、必要なメソッドを使用してインターフェイスを定義し、それを匿名の内部クラスに実装するというパターンに従います。
たとえば、文字列をパラメータとして受け取り、整数を返すメソッドを考えてみましょう。まず、インターフェイスを定義します。
interface StringFunction { int func(String param); }
この関数へのポインターを受け入れるメソッドは次のようになります。
public void takingMethod(StringFunction sf) { int i = sf.func("my string"); // do whatever ... }
このメソッドを呼び出すには、インターフェイス:
ref.takingMethod(new StringFunction() { public int func(String param) { // body } });
代わりに、Java 8 ではラムダ式が導入されており、これにより、より簡潔な構文が提供されます。目的:
ref.takingMethod(param -> bodyExpression);
以上がJava で関数ポインタをシミュレートする最良の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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