首页 > 代码库 > 被struts的类型坑了一次

被struts的类型坑了一次

有一个Map<String,Map<String,String>>格式的对象传到前台,由于对前台不熟于是就在jsp里使用了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对泛型的检查只有一层?

被struts的类型坑了一次