Сбросить или очистить статическую переменную - PullRequest
0 голосов
/ 18 сентября 2018

Я изучаю ответ, данный в другой теме: Можете ли вы сбросить статическую переменную? Но мой запрос немного отличается:

static int counter = 1;
public void captureField(String fieldValue, String type) throws Throwable {
    String value = "Hello";
    writeFieldValue(value, type, counter++);
}

public static void writeFieldValue(String fieldValue, String type, int counter) throws IOException {
    *//File Handling code here*
    sheet.getRow(counter).getCell(5).setCellValue(fieldValue);
}

Приведенный выше код работает нормально дляпервый сценарий, где счетчик увеличивается должным образом для последовательного добавления fieldValue в ячейки.Но, чтобы выполнить следующий сценарий, значение счетчика должно быть сброшено до 1.

Проблема заключается в следующем:

Значение 'counter' не сбрасывается до 1 после выполнения для конкретного сценария и выдает java.lang.NullPointerException.

1 Ответ

0 голосов
/ 19 сентября 2018

У меня есть решение.Добавлена ​​еще одна статическая переменная "txnTypex", которая будет продолжать проверять значение типа, и при каждом изменении значения счетчик будет сбрасываться в 1.

static int counter = 1;
static String txnTypex = "";
public void captureField(String fieldValue, String type) throws Throwable {
     String value = "Hello";
     if(!txnTypex.equals(txnType))
        counter=1;

     writeFieldValue(value, type, counter++);
     txnTypex=txnType;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...