我的程序有问题。
我有一个servlet;在这个servlet中保存会话属性
ArrayList<Integer> list = new ArrayList<Integer>;
list.add(1);
request.getsession().setAttribute("list",list);
现在该属性是String而不是ArrayList。 事实上当我尝试做的时候:
request.getsession().getAttribute(list)
是一个字符串,而不是一个数组。
我想要一个数组。
由于
答案 0 :(得分:5)
当您从会话中获取属性时,您必须进行强制转换:
ArrayList<Integer> list = (ArrayList<Integer>)request.getsession().getAttribute("list");
会话中的属性存储在地图中,这就是您使用的键是String的原因,您必须使用字符串来检索值。
答案 1 :(得分:1)
session.getAttribute(..)
返回Object
你必须像
一样投射它List<Integer> list = (List<Integer>)request.getsession().getAttribute("list");
答案 2 :(得分:1)