Нам нужно знать, что означает // Do C
.
Если есть назначение:
if (a == 0) {
b = 1;
} else if (a == 1) {
b = 0;
}
else {
b = null;
}
типичная оптимизация, которую делают некоторые компиляторы:
b = null;
if (a == 0) {
b = 1;
} else if (a == 1) {
b = 0;
}
И это исполняемый байт-код. Не говоря уже о том, если код компилируется в native компилятором JIT
.
Таким образом, в зависимости от вашего клиента отладки и JDK вы можете увидеть сумасшедшие текущие строки инструкций. Но это нормально, если ожидается состояние в конце блока.
Иногда для выполнения необходимо закрыть оператор. Итак, дело дошло до закрытия.
Убедитесь, что a
не присвоено никаких значений static
, и если это так, то оно будет перекомпилировано Назначения статических связаны во время компиляции.