2015-06-22 42 views
-4

在情況下,你不能確定一個數組試圖讀取一個不存在的值導出的值位置的長度字符串數組如何克服ArrayIndexOutOfBoundsException異常

Caused by: java.lang.ArrayIndexOutOfBoundsException: length=x; index=x 

比如在Excel導入功能您期望10列,但該文件有9列,然後讀取第10列結果爲此異常。

處理這種異常的最好方法是什麼?

+6

檢查數組的長度試圖訪問之前索引? – Blackbelt

+0

每個陣列都有它的長度。 –

+1

數組索引從0開始。 – calvinfly

回答

3

首先 - 數組的索引是從0開始的,而不是從1開始,如果你得到10列,最後一個索引將是9.如果你使用一個簡單的數組,你可以檢查大小它是這樣的:

String[] members = ["He", "She", "It", "The dog"]; 
int arraySize = members.length; 

如果你使用ArrayList,您可以檢查該數組像這樣的尺寸:

ArrayList<String> myList = new ArrayList<>(); 
int arraySize = myList.size(); 

然後你可以通過這樣的數值做一個循環:

for(int i = 0; i< arraySize; i++){ ... } 

或檢查你當前索引是這樣的數組中:

//index is a variable with the current index of the element you want 
if(index < arraySize){ ... } //do something 
else ... 

我希望這會幫助你避免ArrayIndexOutOfBoundsException異常:)

相關問題