抛出的是lang.String 转型错误.我觉得,你有必要把它分开显示一下看看能不能得到错误.. 还有,实在看不懂你那段程序是什么意思Vector list1 = (Vector)session.getValue("list"); list = new Vector(); list = list1; System.out.println("This is OK!!!"+list.size()); 为什么不直接. list1.size()??
list = new Vector(); list = list1;是准备把从session取出来list1的值赋给已定义的list,直接list1.size()当然也是可以的。String xxx = (String)vector.get(i),敢问这句话是什么意思? 就是直接把从session取出来list1的值赋给已定义的list时候,是可以得到list1.size(),但想从list中取出具体的值时,出现了lang.String 转型错误的
详细的自己多读一些jdk文档吧
list = new Vector();
JVM又分配了一块内存给list,list和list1不是同一块内存区
我用了这个方法以后,还是报一样的错误!这个恐怕与vector的实现方法没有关系!
还有,实在看不懂你那段程序是什么意思Vector list1 = (Vector)session.getValue("list");
list = new Vector();
list = list1;
System.out.println("This is OK!!!"+list.size());
为什么不直接. list1.size()??
这里转型
就是最后用System.out.println的时候,参数应该是String的!
list = list1;是准备把从session取出来list1的值赋给已定义的list,直接list1.size()当然也是可以的。String xxx = (String)vector.get(i),敢问这句话是什么意思? 就是直接把从session取出来list1的值赋给已定义的list时候,是可以得到list1.size(),但想从list中取出具体的值时,出现了lang.String 转型错误的
你的程序又不知道那是String
所以你就要显示转换一下呀
(String)list.get(i)
String xxx = (String)vector.get(i)
改成
String xxx = vector.get(i).toString()
试试
list = new Vector(list1);
是下面的代码出错了