に追加されているときにリセットされています再度実行された配列はArrayListに追加されますが、他のすべてのArrayList値も新しい配列に置き換えられます。したがって、lyricLineInfo [4]が再び印刷されたとき、それは古い値の代わりに新しい値を出力します。なぜこれをやっているのか誰にも分かりません。私のコードは以下の通りです:JavaのArrayListの値は、新しい値がだから私はこの方法を実行するたびに私のString配列は、私の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
@Binyamin Sharet - 私は部分的な編集を保存していて、これを書いたようにちょっと凝っていました。 –
これは今正しく動作しています! – clankfan1