これはなぜ機能しませんか?汎用クラスの新しいインスタンスを作成する
class MyClass<GenericClass> {
GenericClass myInstance;
MyClass() {
myInstance = new GenericClass();
}
}
「新しい」に「COMPILE時間エラー」メッセージをインスタンス化できません。たとえパラメータのないコンストラクタがあることを確認しても。
フォローアップ:これに対処する方法がありますか?それとも私は私がそれ以外ではMyClassの実施を明らかにすることを強制していますので、素晴らしいされていないMyClassの<>
class Other {
...
...
}
MyClass<Other> mine = new MyClass<Other>();
mine.setMyInstance(new Other());
にsetMyInstance()メソッドを追加したと仮定すると(これを行うことを余儀なくしています。
それを処理するためのより良い方法何
コンパイル時にエラーが発生しました... – pitosalas
これがポイントです。実行時に型パラメータにアクセスすることができないため、コンパイル時にこのコードを記述することは禁じられています。 –