被struts的類型坑了一次

有一個Map<String,Map<String,String>>格式的對象傳到前臺,因爲對前臺不熟因而就在jsp裏使用了java代碼來呈現,java

先用一個Map<String,Map<String,String>>接收了attribute,而後遍歷這個map,每次用map2來接收value,而後再遍歷map2,結果就悲劇了,原來map2中有一個value是數字,但實際上我已經在後臺把他轉爲String了,哪兒知道struts又熱心的給轉爲數字了,因而就報出了ClassCastException,說Long不能轉爲String,琢磨了很久,我用map2.get().toString也不行,原來是map2在聲明的泛型處就有了問題,可是map2裏面另外一個String格式的double數據依舊保留了String,而且坑爹的是map的時候也有泛型爲啥不報錯?難倒jvm對泛型的檢查只有一層?jvm

相關文章
相關標籤/搜索