EL通过整数键访问映射值
我有一个以整数为键的地图。使用EL,如何通过其键访问值? Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "One"); map.put(2, "Two"); map.put(3, "Three"); 我以为这可以工作,但不能(在请求的属性中已经有地图): <c:out value="${map[1]}"/> 跟进:我找到了问题所在。显然${name[1]}是使用数字作为进行地图查找Long。当我更改HashMap为TreeMap并收到错误时,我发现了这一点: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long 如果我将地图更改为: Map<Long, String> map = new HashMap<Long, String>(); map.put(1L, "One"); 然后${name[1]}返回“一个”。那是什么 为什么<c:out>将数字视为长号。对我来说似乎违反直觉(因为int比long更常用)。 所以我的新问题是,是否有一个EL表示法可通过Integer值访问地图?