无法将对象[]转换为jsp中的String []

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 [].

如果我只投了我会得到我想要的答案,我谷歌并得到了很多解决方案,但没有给我一个解决方案,帮我找出这个问题.提前感谢您的回复.

Jon*_*eet 5

问题是类型aList原始类型 ArrayList.这意味着从中删除所有仿制品的痕迹 - 即使是通用方法toList.

虽然修复很简单 - 只需使用ArrayList<?>:

ArrayList<?> aList = (ArrayList<?>)request.getAttribute("read");
Run Code Online (Sandbox Code Playgroud)

原始类型通常是颈部疼痛,实际上只是为了向后兼容而包括在内 - 尽量避免使用它们.