我有一些像這樣的代碼:這是原始類型分配類型安全嗎?列表<T> = new ArrayList();
@SuppressWarnings({"unchecked", "rawtypes"})
List<String> theList = new ArrayList();
這是類型安全的?我認爲這是安全的,因爲我不把原始類型分配給其他任何東西。我甚至可以證明其進行類型檢查,當我打電話add
:
theList.add(601); // compilation error
我已閱讀"What is a raw type and why shouldn't we use it?",但我不認爲它適用於這裏,因爲我只創建列表與原始類型。之後,我將其分配給參數化類型,那麼會出現什麼問題?
另外,這是怎麼回事?
@SuppressWarnings({"unchecked", "rawtypes"})
List<String> anotherList = new ArrayList(theList);
第二個是危險的,因爲'theList'中沒有什麼限制。 –