は、私はクラス を持っていると私はジェネリック型としてどこかにそれを使用すると仮定します:コンパイル後javaはユーザー定義のジェネリッククラスでも型消去を実装していますか?
class MyList<T>
{
T[] list=T[10];
public void add(T element)
{
list[0]=element;
}
}
それはジェネリックコレクションの場合のように、それは、その種類の情報を削除しますか?
私はどこでもこのコードを使用する必要はありませんので、間違いを見つけることに集中しないでください。私は、コンパイル後にインスタンス変数がObjectクラスの型であることを示すこのコードを通して一般的な質問をしたいだけです。
よく、このコードはコンパイルされないため、一般的な配列を作成することはできません。クラスのパラメータ化は変数のパラメータ化と一致しません – kdgregory
このコードには、ジェネリック配列はまったく作成されていません...私はそこに "新しい"は表示されません: - –
T implicityはObjectを拡張するので、コンパイル時でさえ、Tはコンパイル時のチェックをいくつか持つオブジェクトです。 –