Java中的泛型有時會很嘈雜。在編譯之後,編譯器會拋出參數化類型,所以我的問題是,只要我聲明引用的類型包含參數化類型,是否存在忽略它們的任何缺點?例如,是否有任何理由我不應該忽略具體類型中的泛型類型?
Map<String, Map<Integer, String>> myMap = new HashMap<String, Map<Integer,String>>();
太吵了。如果我寫什麼:
@SuppressWarnings("unchecked")
Map<String, Map<Integer, String>> myMap = new HashMap();
它是如此的清楚得多,但Eclipse會放一個噁心的波浪線下它。把@SuppressWarning放在Eclipse中會讓人開心,但很多人(包括我)不喜歡在代碼中加入@SuppressWarning。在「new HashMap()」中忽略類型參數真的很糟糕嗎?
是的我知道Guava庫,但我只是想知道在「new HashMap」之後顯式鍵入參數化類型有什麼好處,或者不這樣做的危害是什麼。 – EnToutCas 2010-08-12 20:38:25
我認爲這與OP所問的完全一樣,但是? – 2010-08-12 20:38:27
好評,但對我來說這不是問題的答案。 – 2010-08-12 20:38:31