Sel*_*lva 0 java string jsp casting arraylist
<%
ArrayList aList=(ArrayList)request.getAttribute("read");
String[] write =aList.toArray(new String[aList.size()]);
%>
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我得到了
不兼容的类型:Object []无法转换为String [].
如果我只投了我会得到我想要的答案,我谷歌并得到了很多解决方案,但没有给我一个解决方案,帮我找出这个问题.提前感谢您的回复.
问题是类型aList是原始类型 ArrayList.这意味着从中删除所有仿制品的痕迹 - 即使是通用方法toList.
虽然修复很简单 - 只需使用ArrayList<?>:
ArrayList<?> aList = (ArrayList<?>)request.getAttribute("read");
Run Code Online (Sandbox Code Playgroud)
原始类型通常是颈部疼痛,实际上只是为了向后兼容而包括在内 - 尽量避免使用它们.