0
FileDialog
から.class
(または多分.java
ファイル)のファイルがクラスがジェネリック型であるというようなプログラムを作りたいと思いますLinkedList<T>
、ArrayList<T>
、またはユーザーが選択したデータ構造に依存します。クラスがジェネリック型でない場合は例外をスローしたいと思います。さらに説明については、私は、もし型パラメータがパラメータ化された型であるという制約を実装する方法
inputClassX instanceof ParameterizedType
をテストしたいと思いますが、私はParameterizedType
を実装していない可能性がある任意のクラスをテストしたいと思いますので、私はそのテストを行うことはできません。
オブジェクト、またはClass
がジェネリック型であるかどうかをテストするにはどうすればよいですか?
Class
オブジェクトの場合
私はコンパイルされたクラスが保持していることを信じていますジェネリック型パラメータについての情報はないので、ソースを見ずにランタイムテストを行うことはできません。ここで.classファイルを開く目的は何ですか?それは何らかのプラグインシステム用ですか? –
@ E_net4クラスファイルは、コンパイル時に知られている情報(実行時の保持ではなく、コンパイルオプションによって異なる)を除いて、基本的にすべての情報を保持します。 'new ArrayList()'のような)クラスインスタンス作成式からの特定のオブジェクトへの型引数は、それ自体が消去されるものです。 –
Radiodef