2013-03-04 50 views
-1

我從我的數據庫中取出了12條記錄,並將它存儲在ResultSet中,因爲無論我需要什麼,我都無法從ResultSet中獲取每個元素。我使用arrayList來存儲ResultSet數據,然後使用ArrayList.get()方法來檢索每個元素。ArrayList IndexOutOfBoundException JSP

但問題是來自數據庫的數據有時可能少於12條記錄,但我已經訪問arraylist.get(12),所以它拋出IndexOutOfBoundException。現在我想要的是在打印數組的值之前檢查array.get(12)個元素是否超出限制。

我試過如果(arraylist.get(12)!= null),但它不起作用可能是因爲我試圖訪問不存在於數組列表中的第12條記錄。

+0

爲什麼你指定size.Is它是強制性的 – PSR 2013-03-04 13:40:56

回答

0

如果您的列表包含12個項目,並且您想獲取最後一個項目,則必須使用.get(11),因爲列表,數組,集合等是基於0的在JAVA中索引的。另一方面,如果你想獲得第一個,你必須使用.get(0)而不是.get(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/

關於如何做到這一點的更多細節。

+0

@ sp00m ...謝謝你們的回覆我很高興地說,我解決了我的問題,並且IAM沒有硬編碼任何東西,因爲IAM使用頁碼12是記錄數iam顯示每頁,但有時會發生什麼是假設從數據庫中提取的記錄數大於12且小於24,因爲您已經顯示每頁12條記錄的詳細信息ARRAYINDEXOUTOFBOUNDEXCEPTION被拋出.. – 2013-03-14 15:49:13