以下是jsp页面中的一些片段:
<%! ArrayList songList = new ArrayList<String>(); %>
<%
songList = StoreSongLink.linkList;
// linkList is a static variable in the class StoreSongLink
// There the linkList is defined as public static ArrayList<String> linkList = new ArrayList<String>();
%>
<%} else {
for (ArrayList<String> list : songList){}
%>
else srciplet中的代码会产生错误required java.util.ArrayList<String> found java.lang.Object
。为什么是这样 ?我不明白原因。
为什么编译器说songList是Object类型的?
您应该在一开始就明确声明它:
ArrayList<String> songList = new ArrayList<String>();
如果您这样声明:
ArrayList songList = new ArrayList<String>();
然后你说songList
是ArrayList
的Object
S,不管是什么来的右侧=
。分配不会更改,因此:
ArrayList songList = new ArrayList<String>();
songList = StoreSongLink.linkList;
不会改变类型songList
,它仍然有效ArrayList<Object>
。
如果修复了声明,则for
循环应如下所示:
for (String list : songList){}
因为songList
是的数组列表String
。有了它,Java
Object
将从中提取每个元素,songList
并尝试将其分配给您在左侧声明的内容:
,您将其称为ArrayList<String>
。它不能将转换Object
为ArrayList<String>
(特别是因为Object
确实只是在String
下面),因此会引发错误。
错误(25,1):PLS-00103:遇到符号“EXEC” 放下桌上的学生;提交;
我对Android-Studio是新手,我正试图让一个“旧”应用程序重新运行。当我将Project与Gradle文件同步时,它会向我显示一条错误消息: 我还将google()和mavenCentral()添加到存储库中,但这并没有帮助。
问题内容: 错误: 出现的内容不起作用: 如果我写:“ InvoerVakhandler扩展了boven”,则该错误消失了,但是随后我得到了一个无限循环,最后程序崩溃并说堆栈溢出错误。 如果我尝试更改boven类中的“}”符号并将其放置在文本的末尾,那么我什至会收到更多错误消息。 问题: 我必须在代码中进行哪些更改才能使其正常工作? 注意: 我是Java的新手,我知道有更多类似这样的文章,但是由于
问题内容: 我正在尝试在Mac OS X 10.8.3上安装virtualenv和/或virtualenvwrapper 最近两天我一直在和python战斗。最终,我能够使用brew安装python 2.7.4。在我使用easy_install安装virtualenv之前。然后,我尝试将其卸载,以使我的计算机处于与我的一位同事相同的状态。也许我成功卸载了它,也许没有成功。我不知道如何测试。现在我应
我需要改变复选框检查状态,但useCallback重新呈现组件很多次。我不明白它是如何工作的。我读过很多关于它的材料。 重新渲染的数量:
我正在Celero git存储库中检查DoNotOptimizeAway的含义。但我还是不明白。请你用外行的话帮我理解一下好吗。尽你所能。