Javaコレクションは、プリミティブ型ではなくオブジェクトのみを格納します。ただし、ラッパークラスを格納できます。
なぜこの制約なのか?
class
、JVMではなくによって定義されるだけではありません。ステートメントint i = 1
はint
、JVMで1
定義されている値に設定された、JVM で定義されているオブジェクトのシングルトンインスタンスへのポインターを定義します。はい、Javaのポインター-これは、言語の実装によって抽象化されています。総称としてプリミティブを使用することはできません。言語はすべての総称型がスーパータイプでなければならないことを述語しているため、実行時にコンパイルされるObject
理由です。A<?>
A<Object>