上時,Java ArrayList值被重置所以每次運行方法測試時,我的String數組都會被添加到我的ArrayList中,並且會打印出lyricLineInfo [4]值,但是當方法測試再次運行該數組將被添加到ArrayList,但它也將用新數組替換所有其他ArrayList值。因此,當再次打印lyricLineInfo [4]時,它會打印出新值,而不是原來的值。我不確定爲什麼這樣做可以幫助任何人?這裏是我的代碼:當新的值被添加到
private String[] lyricLineInfo = new String[5];
private ArrayList<String[]> lyricLineNumber = new ArrayList<String[]>();
public void test() {
lyricLineNumber.add(getInfo());
System.out.println(lyricLineNumber.get(0)[4])
}
public String[] getInfo() {
if (chckbxLeadSinger.isSelected()) {
lyricLineInfo[0] = "true";
} else {
lyricLineInfo[0] = "false";
}
if (chckbxBackupSinger.isSelected()) {
lyricLineInfo[1] = "true";
} else {
lyricLineInfo[1] = "false";
}
lyricLineInfo[2] = fieldStartTime.getText();
lyricLineInfo[3] = fieldEndTime.getText();
lyricLineInfo[4] = fieldLyrics.getText();
return lyricLineInfo;
}
+1,因爲這是正確的據我所知,但它是,如果你細說更好。 – MByD 2011-12-27 23:21:10
@Binyamin Sharet - 我已經保存了一個部分編輯,並在你寫這篇文章時進行了一些闡述。 – 2011-12-27 23:22:40
謝謝你現在工作正常! – clankfan1 2011-12-27 23:25:34