最近、私は Java Generics についてもう少し読んでいて、次の記事にたどり着きました: http://gafter.blogspot.nl/2004/09/puzzling-through-erasure-answer.html。基本的に、Java は常に下位互換性があると述べています。 .
では、Java は JComboBox に対して何を行ったのでしょうか。Java 7 で書かれたコード。JComboBox<String> comboBox = new JComboBox<>();
Java 6 では正常にコンパイルされるはずですが、型が消去されているため生の型としてコンパイルされます。
ただし、これをグーグルで検索すると簡単にわかるように、現在 3 つの異なる問題があります。
- まず第一に、Java 6 は Generics でコンパイルしませんが、型消去を使用してコンパイルし、生の型として扱う必要があります。
- 第二に、具体化さえ使用されていないため、Java 7 では何も得られません。
- そして 3 番目に、生の型を使用する Java 7 コードは警告を出します。
そのため、正しい方法はないようです。
よろしく。