ArrayList IndexOutOfBoundException JSP

时间:2013-03-04 13:37:31

标签: jsp arraylist indexoutofboundsexception

我从我的数据库中取出12条记录并将其存储在ResultSet中,因为我无法从ResultSet中获取每个元素。我使用arrayList存储ResultSet数据,然后使用ArrayList.get()方法检索每个元素。

但问题是来自数据库的数据有时可能少于12条记录,但我已经访问过arraylist.get(12),因此抛出了IndexOutOfBoundException。现在我想要的是在打印它的值之前检查array.get(12)元素是否超出范围。

我试过if(arraylist.get(12)!= null)但它不起作用可能是因为我试图再次访问arraylist中不存在的第12条记录。

2 个答案:

答案 0 :(得分:0)

如果您的列表包含12个项目并且您想要获取最后一个项目,则必须使用.get(11),因为列表,数组,集合等在JAVA中基于0进行索引。另一方面,如果你想获得第一个,你必须使用.get(0)而不是.get(1)(返回第二个)。

答案 1 :(得分:0)

硬编码“我想收集第12集”这样的内容是个坏主意。如果要检查集合的大小。您应该获取集合大小,而不是尝试访问任意值并查看它是否有效。

看看

http://blog.smartkey.co.uk/2009/01/how-to-access-the-size-of-a-collection-in-a-jsp-page-using-jstl-el/

有关如何操作的详细信息。