Stringarray остается нулевым Java - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь заполнить tempArray stringTemp, но по какой-либо причине значения в массиве всегда null.Возможно, это что-то глупое, что я упустил из виду, но я просто не могу его найти.Кто-нибудь видит, что я сделал не так или почему tempArray равно нулю?

Вот мой код:

        String tempData[];
        String[] tempArray = new String[43];
        String stringTemp;
        String tempString;

        stringTemp = Integer.toString(dwdmChannel) + "," + Short.toString(ADCValue);

        if (index < tempArray.length - 1) {
            tempArray[index] = stringTemp;
            index++;
        }
        if( dwdmChannel == 61) {
           try {
               CSVWriter writer = new CSVWriter(new FileWriter(filePath));
               for (int x = 0; x < tempArray.length - 1; x++) {
                  tempString = tempArray[x];
                  tempData = tempString.split(",");
                  writer.writeNext(tempData);
               }
               writer.close();

           } catch (IOException e) {
               System.out.println(e);
           }
       }   

1 Ответ

0 голосов
/ 03 октября 2018

Полагаю, вы пытаетесь заполнить массив этими операторами

if (index < tempArray.length - 1) {
    tempArray[index] = stringTemp;
    index++;
}

Возможно, вы имели в виду:

for (int index = 0; index < tempArray.length; index++) {
    tempArray[index] = stringTemp;
}

ОБНОВЛЕНИЕ :
Есливаш индекс статичен, и вы хотите заполнять один элемент массива каждый раз, когда вызываете ваш метод (по крайней мере, так он выглядит), тогда вы, вероятно, захотите объявить статический массив тоже.
Кодкак и сейчас, каждый раз при вызове метода создает новый массив.

...