ArrayList IndexOutOfBoundException JSP

ArrayList IndexOutOfBoundException JSP,jsp,arraylist,indexoutofboundsexception,Jsp,Arraylist,Indexoutofboundsexception,我从数据库中提取了12条记录,并将其存储在ResultSet中,因为我无法从ResultSet中获取我想要的每个元素。我使用arrayList存储ResultSet数据,然后使用arrayList.get()方法检索每个元素 但问题是,来自数据库的数据有时可能少于12条记录,但我已经访问了arraylist.get(12),所以它抛出IndexOutOfBoundException。现在我要检查的是,在打印数组的值之前,第12个元素是否超出了范围 我尝试过if(arraylist.get(12)

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

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


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

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

硬编码像“我想要收藏的第12条记录”这样的东西是个坏主意。如果要检查集合的大小。您应该获取集合大小,而不是试图访问任意值,然后查看它是否有效

看看


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

为什么要指定大小。是吗mandatory@sp00m ... 谢谢你们的回复,我很高兴地说,我解决了我的问题,我没有硬编码任何东西,因为iam使用页码12是iam每页显示的记录数,但有时发生的情况是,假设从数据库中获取的记录数高于12,低于24,那么既然您已经显示了12的详细信息将引发每页记录ARRAYINDEXOUTOFBOUNDEXCEPTION。。