文字列配列に問題があり、それをリスト (リスト) に追加しようとしています。以下は、使用され、問題を作成するコードです。
プログラムはループの最初の実行で失敗し、OpenCSV を使用して CSV からの入力を確認しました。
List<String[]> output = null;
String[] temp;
for(int i = 0; i < 13; i++)
{
temp = reader.readNext(); //read next line into temp
System.out.println(temp[0]+temp[1]+temp[2]); //temp output
temp[2] = String.valueOf((values[i])/100); //assign new value
System.out.println(temp[0]+temp[1]+temp[2]); //temp output
output.add(temp);
}
このコードを実行すると、出力は次のようになります。
VANCBULLET0.311
VANCBULLET0.308
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Main.updateCSV(Main.java:951)
at Main.start(Main.java:863)
at Main.access$23(Main.java:853)
at Main$23.actionPerformed(Main.java:520)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
最初の 2 行は正しく、次のように分割されています。 temp[0] temp[1] temp[2] VANC BULLET 0.311 VANC BULLET 0.308
問題は(エラーのように)次の場所にあります。
output.add(temp);
ドキュメントには次のように書かれています。
NullPointerException - if the specified element is null and this list does not permit null elements
しかし、私の出力 (2 行目) からわかるように、配列 "temp" は null ではなく、各要素にそれぞれ "VANC BULLET 0.308" が含まれています。
私は困惑しています。誰かがアイデアを持っているか、私が見損なった何かを見ていますか?
ありがとう