2015-11-23 67 views

回答

3

警告的要點是通知您泛型類型斷言實際上並未被編譯器或運行時強制執行,以便您可以在代碼中進一步下載ClassCastExceptions。

由於左側的?,您沒有使用擦除類型,因此演員不必假裝檢查該擦除類型。由於沒有經過檢查的類型信息,這一行在任何情況下都不會導致運行時錯誤。所以不需要警告。

With Collection<?>,當你把事情搞清楚時,你會得到一個Object。這不會失敗(因爲你可能得到的所有東西都是Object)。

而且您不得將任何東西放入Collection<?>。所以這也不會導致錯誤。

相關問題