2013-05-30 64 views
-1

一個指標我如何能叫出從這個名單我嘗試使用get(指數)一個字符串,但它會發送一個錯誤叫出從列表<String>

List<String> strlist = new ArrayList<String>(); 
strlist.add(datelist); 
String[] strarray = strlist.toArray(new String[0]); 
System.out.println(Arrays.toString(strarray)); 
table_4.setValueAt(strlist.get(1), 0, 0); 

字符串是從while語句:

while (cal2.getTime().before(newDateString)) { 
cal2.add(Calendar.DATE, 1); 
String datelist=(format.format(cal2.getTime())); 

字符串/輸出將是這樣的:

[May 10, 2013] 

[May 11, 2013] 

[May 12, 2013] 

[May 13, 2013] 

[May 14, 2013] 

[May 15, 2013] 

[May 16, 2013] 

[May 17, 2013] 

[May 18, 2013] 
+0

你什麼錯誤? – Djon

+0

打印第一個字符串:[2013年5月2日] 線程「AWT-EventQueue-0」中的異常java.lang.IndexOutOfBoundsException:索引:1,大小:1 \t at java.util.ArrayList.rangeCheck(Unknown Source ) \t at java.util.ArrayList.get(Unknown Source) \t at q $ 8 $ 1.actionPerformed(q.java:965) – Maguzu

回答

2

你似乎只添加一個元素,一個List的第一個指數是0,那麼你的代碼應該是:

table_4.setValueAt(strlist.get(0), 0, 0); 

爲了您的信息,List有一個很好的toString()方法,這樣可以在使用System.out.println(strlist);你不需要其他任何東西。

另一個小細節,你可以使用strlist.toArray(new String[strlist.size()])來避免分配一個新的數組。

編輯:

for (int y = 0 ; y < strlist2.size() ; y++) 
{ 
    //This will set the strin at pos y at the y pos in the table. 
    table_4.seValue(strlist2.get(y),y,0); 
} 
+0

我這樣做是因爲我要輸出單個單元格中的每個字符串一個JTable。 – Maguzu

+0

夠公平的,我真的不知道JTable是如何工作的。 – Djon

+0

我能夠在JTable中填充我想要的行,但是我的ArrayList中只有一個字符串用於填充行。我如何使用我的ArrayList中的所有字符串填充Jtable?這裏是我目前的工作:\t Iterator itr = strlist2.iterator(); \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t而(itr.hasNext()){ \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t對象的Elemen t = itr。next(); \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t INT Y = 0; \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t爲(Y = 0; Y <= 16;以及++){ \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t table_4.setValueAt(element,y,0); \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t – Maguzu