Таким образом, каждый раз, когда я запускаю тест метода, мой массив 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;
}