次のコンパイルエラーは私には意味がありません。誰かが解明できることを望んでいました:
static public void main(String args[]) throws ZipException, IOException
{
File file = new File("C:\\temp");
ZipFile zip_file = new ZipFile(file);
Enumeration<ZipEntry> entries = zip_file.entries();
}
次のエラーが表示されます。Type mismatch: cannot convert from Enumeration<capture#1-of ? extends ZipEntry> to Enumeration<ZipEntry>
上記のコードをコンパイルするには、entries
宣言をジェネリックを使用するように置き換える必要がありました<? extends ZipEntry>
。なぜ私はこれをしなければならないのですか?ZipEntry は ZipEntry を拡張していませんか? (それは空虚な真実ではありませんか?)なぜコンパイラはそれについて不平を言うのですか?
それが役立つ場合、Eclipse Indigo 64 ビットで Java 7.03 を使用しています。