私はこのクラスを持っている:もちろんnew T()
のジェネリック型の新しいオブジェクトを作成するにはどうすればよいですか?
public class A<T> {
protected T something = new T();
...
}
することはできません。代わりに私は何をすることができますか?
このクラスのコンストラクターが呼び出されるコードは、リフレクションによって行われるため、変更しないでください。
その他の問題は、ジェネリッククラスのClassオブジェクトを取得する方法です。 MyMethodは(A.class)が働いていたが、今Aは、パラメータT.
これは非常にオープンになっています。あなたが達成しようとしていることについてより多くの情報を提供できますか? – AndrewC
明示的にクラスをAのコンストラクタに渡すことなく、実行時にAに渡される型パラメータを決定することは可能です。しかし、他の人が尋ねたように、あなたが本当に必要でないときに、なぜそれをしたいのですか? –
(一般的なパラメータ名の慣習に実際に合致するクラス名を使用するのは混乱します。 –