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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
