クラス リテラルは、一般的に型を静的に表すために使用されます。ただし、ジェネリック型を扱うときに問題が発生します。
通常、非ジェネリック型の場合、クラス リテラルは構文 Foo.class を使用して取得できます。これを List などのジェネリック型に適用すると、型パラメーターがないため警告が発生します。不明な型パラメータを許可するためにワイルドカード (?) を追加しようとすると、型不一致エラーが発生します。さらに、List
この問題は、Java の型消去機能に起因します。ジェネリック型はコンパイル中に生の型に変換されます。つまり、型引数は実行時に失われます。その結果、パラメーター化された型には独自の実行時表現がなく、対応する Class オブジェクトがありません。
したがって、List
以上がJava でジェネリック型のクラス リテラルを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。