我知道這個問題聽起來很愚蠢,因爲這裏有幾個成員,但我不知道了。Android:無法獲取ArrayList上的索引1
我遇到了一個數組奇怪的問題。我試圖通過ArrayList
獲得index 1
,但總是拋出。
我已經通過下面的代碼調試:
for (int o=0; o<vcard.size(); o++){
if(vcard.get(o).contains(":")){
System.out.println("Contains");
String[] splitByTitikDuaVCard = vcard.get(o).split(Pattern.quote(":"));
//this line show the length is 2
System.out.println("RESULT LENGTH : " + splitByTitikDuaVCard.length);
for (int y=0; y<splitByTitikDuaVCard.length; y++){
System.out.println("RESULT Y : " + splitByTitikDuaVCard[y] + ", INDEX : " + y);
mapContentTerbaruVCard.put(splitByTitikDuaVCard[0], splitByTitikDuaVCard[1]);
}
}else{
System.out.println("Not Contains");
}
}
的log
結果:
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 2
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : BEGIN, INDEX : 0
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : VCARD, INDEX : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 2
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : VERSION, INDEX : 0
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : 3.0, INDEX : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 2
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : N, INDEX : 0
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : Doe;John, INDEX : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 2
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : FN, INDEX : 0
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : John Doe, INDEX : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 2
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : ORG, INDEX : 0
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : PT. Pertamina, INDEX : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 2
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : TITLE, INDEX : 0
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : Bussiness Manager, INDEX : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 2
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : ADR, INDEX : 0
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : ;;Soekarno Hatta;Bandung;;46153;West Jave, INDEX : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 2
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : TEL;WORK;VOICE, INDEX : 0
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : 021 203312, INDEX : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 2
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : TEL;CELL, INDEX : 0
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : +62818456463111, INDEX : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT LENGTH : 1
03-08 23:00:18.594 8350-8350/? I/System.out: RESULT Y : TEL;FAX, INDEX : 0
的log
表明index 1
是存在的,但是當我嘗試把index 1
成HashMap
,出現錯誤
我的問題是:如何找到index 1
這樣我就可以把它保存到hashmap
注:我已經嘗試這個(Java ArrayList IndexOutOfBoundsException Index: 1, Size: 1)解決方案,但沒有工作的我的情況。
該錯誤告訴你ArrayList的大小是1.唯一的索引因此元素爲0. –
「日誌顯示索引1存在」請顯示此日誌。另外,你應該提供一個完整的代碼示例。一定要包括把你的代碼放在類內部的方法中。最後,發佈整個堆棧跟蹤並向我們顯示哪一行會導致錯誤。 –
數組從0開始計數。基本上,錯誤消息告訴您的是以下內容:您有一個數組/數組列表,其中包含1個元素,並且您嘗試訪問索引1處的元素,該元素實際上是列表中的第二個元素。 (或者是因爲你有錯誤)。 –