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

    class Hoge<T>{ }
    
```

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

```

    Hoge x1;
    Hoge<?> x2;
    
```

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