ジェネリックスの動作を見てみると、クラスは通常のクラスにコンパイルされ、どこにも記述されていないタイプがあり、Objectクラスが渡されるタイプのチェックキャスト演算子がありますArrayListからキャストしています。Javaでジェネリックスを操作する
String i=ArrayListObject.get(position);
は、しかし、コンパイラが来るか全くタイプが存在しない場合、一般的なArrayListのが唯一の<で宣言された型>を格納できることを知っています。クラスをコンパイルする際に、この情報はどこに格納されますか。 親切に更新
タイプ消去と呼ばれています。 https://docs.oracle.com/javase/tutorial/java/generics/erasure.html。 Javaジェネリックは、C++ジェネリックのようには行われません.Cジェネリックでは、それぞれ固有のクラスが作成されます。 – duffymo
@duffymo彼はタイプ消去について知っている。彼は、すべての型情報が消去されたときにコンパイラがその仕事をどのように行うことができるかを尋ねる。 – GhostCat