リフレクションを使用した Java でのジェネリック パラメーター タイプの取得
Java では、ジェネリック タイプは、より柔軟で再利用可能なコードを可能にする強力な機能です。ただし、ジェネリック パラメーターの操作は難しい場合があります。よくある課題の 1 つは、実行時にジェネリック パラメーターの実際の型を判断することです。
可能ですか?
はい、ジェネリック パラメーターの型を取得することは可能です。反射を使って。リフレクションは、実行時に Java クラスの構造、フィールド、メソッドの詳細にアクセスして操作する方法を提供します。
例:
次のコード スニペットを考えてみましょう。
public class Voodoo { public static void chill(List> aListWithTypeSpiderMan) { // Here I'd like to get the Class-Object 'SpiderMan' Class typeOfTheList = ???; } public static void main(String... args) { chill(new ArrayList<spiderman>()); } }</spiderman>
chill メソッドでは、未知の型のリストがあります。実際の型パラメータを決定したいのですが、この場合は SpiderMan になります。
解決策:
解決策には、ParameterizedType インターフェイスの使用が含まれます。ジェネリックスを使用するものなど、パラメーター化された型を記述する型。これを実現する方法は次のとおりです。
Class typeOfTheList = ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
このコードは、パラメーター化された型である必要がある現在のクラス (この場合は Voodoo) のスーパークラスを取得し、実際の型引数を抽出します。最初の型引数は、対象の型パラメータである SpiderMan に対応します。
注:
この手法は、Java 16 より前では完全にはサポートされていません。ジェネリック型のリフレクションの使用は、以前はハッキングだと考えられていましたが、Java 16 以降、getActualTypeArguments() が Type インターフェイスに追加され、よりクリーンで合理化された方法を提供します。ジェネリック型情報にアクセスします。
以上がリフレクションを使用して Java で汎用パラメータ型を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Apacheの.htaccess構成をプロジェクト開発でnginxに変換するための構成方法では、サーバーをApacheからNginxに移行する必要がある状況に遭遇することがよくあります。 AP ...

Javawebアプリケーションパフォーマンスの最適化:Javawebアプリケーション開発におけるDAOレベルのエンティティクラスキャッシュの実現可能性の調査、パフォーマンスの最適化は常に開発者の焦点でした。どちらか...

極座標系下での二重積分の解決この記事では、極座標の下での二重積分に関する質問に詳細に答えます。質問はポイントエリアを与え、組み込まれています...

スクリプトタスクの独自性を確保し、高い並行性環境での動作ステータスを監視する方法は?この記事では、クラスター環境でアウトバウンドフットを確保する方法について説明します...

サブクラスが親クラスのSetNameメソッドを継承することにより、私有地を設定する方法について。プログラミングでは、特にJava、サブクラス、...などのオブジェクト指向プログラミング言語で

eclipsepahoのmqttasyncclientを使用してローカルEMQXに接続する際のユーザー名とパスワード認証の障害の問題を解決する方法は? JavaとEclipseを使用して...

一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

Javaにパラメーターを使用してWeChatアプレットQRコードを生成し、HTMLページに表示することは一般的な要件です。この記事では、Jの使用方法について詳しく説明します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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