安全な var 引数の処理に関して、JDK の主な違いは何ですか?
上記はJDK 1.6で警告を発行します-
型の安全性: List のジェネリック配列が varargs パラメーター用に作成されます
- この警告がここに表示されるのはなぜですか?
- それを抑制するためにJDK1.7は何をしていますか?
理解を助けてください。
安全な var 引数の処理に関して、JDK の主な違いは何ですか?
上記はJDK 1.6で警告を発行します-
型の安全性: List のジェネリック配列が varargs パラメーター用に作成されます
理解を助けてください。
JDK7 は@SafeVarargs アノテーションを追加して、ジェネリック varargs が真に安全な場合に注意し、そのアノテーションを eg に適用しましたCollections.addAll
。
プロジェクトコインの一部です。ここで提案を見ることができますhttp://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000217.html
つまり、この警告はメソッド呼び出しではなくメソッド宣言に移動されました。これについて良いコメントがありました: https://stackoverflow.com/a/3819038/891391