<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8" %>
<%
ArrayList usersList=(ArrayList)application.getAttribute("usersList");
if(usersList==null){
usersList=new ArrayList();
application.setAttribute("users",usersList);
}
out.println("在线用户:<br>");
for(int i=0;i<usersList.size();i++){
out.println(usersList.get(i)+"<br>");
}
%>
之前是可以转化的,不知道为什么不行了。大神帮帮忙,小弟先谢过。
我自己来回答吧。String是不能强转ArrayList的。我之前的理解有问题。
问题错的很隐蔽。
我起初写的代码中错误的将String类型存入,导致报错。即使改为将ArrayList存入,还是报错,所以报错是String转ArrayList。原因很无语,因为检查代码是ArrayList的,所以一直以来没错。原因是没有
application.removeAttribute(usersList);
导致之前存入的String类型一直被获取,所以报错。remove之后就正常了。最后谢谢给我灵感的回答者们。