javaのジェネリックで?あり・なしの違い

[code]

    class Hoge<T>{ }
    
[/code]

上記のClass宣言があるとして

[code]

    Hoge x1;
    Hoge<?> x2;
    
[/code]

変数宣言で?ありと?なしで宣言できるみたいなのですが、この違いは何でしょうか？




`Hoge x1`は後方互換のために残されているだけで、`Hoge<?> x2`と同様と記憶しています。  
確か、JavaのGenericsはコンパイル時に型パラメータ情報は落ちた記憶があります。




`Hoge x1`は後方互換のために残されているだけで、`Hoge<?> x2`と同様と記憶しています。  
確か、JavaのGenericsはコンパイル時に型パラメータ情報は落ちた記憶があります。

