いくつかのvarargs関数を使用し、Java 1.7に移行するときに、奇妙な未確認の警告が表示されます。Java 1.7のvarargs関数が未確認の警告として報告されました
機能は、インターフェイスの命令キャッシュにインタフェースで
public interface ICache<O> {
void add(Object source, O... objects);
}
を追加し、エラーを報告します。
ICache.java:18: warning: [unchecked] Possible heap pollution from parameterized vararg type O
void add(Object source, O... objects);
where O is a type-variable:
O extends Object declared in interface ICache
1 warning
Oはオブジェクトを汎用キャッシュクラスとして拡張します。
私はxlintの警告を読んでいますが、未チェックのままコンパイルしていますが、http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#xlintwarningsは、このエラーがチェックされていないタイプではなく、[varargs]タイプでなければならないと思われます。
何か不足していますか?
私はICacheとSomeClassのすべての関連部分を見ることができますか? –
ソースを追加するために編集されました。 –
[このオラクルのオラクルのサイト](http://docs.oracle.com/javase/7/docs/technotes/guides/language/non-reifiable-varargs.html)を参照してください。varargs heap pollutionについて詳しく説明しています。なぜJava 7コンパイラは警告を発生させ、どうやってそれを抑制することができますか? – buc