ホームページ > Java > &#&チュートリアル > リフレクションは Java の汎用パラメーターの型を明らかにできますか?

リフレクションは Java の汎用パラメーターの型を明らかにできますか?

Mary-Kate Olsen
リリース: 2024-12-22 11:27:11
オリジナル
941 人が閲覧しました

Can Reflection Reveal Generic Parameter Types in Java?

Java でのリフレクションによるジェネリック パラメーターの型の取得

クエリ: リフレクション技術を使用してジェネリック パラメーターの型を確認できますか?

次の点を考慮してください例:

public final class Voodoo {
    public static void chill(List<? extends SpiderMan> aListWithTypeSpiderMan) {
        // Obtain the Class object for 'SpiderMan'
        Class typeOfTheList = ???;
    }

    public static void main(String... args) {
        chill(new ArrayList<SpiderMan>());
    }
}
ログイン後にコピー

解決策:

ジェネリック パラメータ タイプを抽出するための有望なアプローチは次のとおりです:

Class<T> persistentClass = (Class<T>)
   ((ParameterizedType)getClass().getGenericSuperclass())
      .getActualTypeArguments()[0];
ログイン後にコピー

このやや難解なリフレクション ベースの呪文は次のようになります。望ましい結果が得られますが、その複雑さをより深く理解することは今のところ私にはできません。

以上がリフレクションは Java の汎用パラメーターの型を明らかにできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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