Я пытаюсь создать своего рода систему настройки для проекта, который я создаю, однако я столкнулся с некоторой проблемой. Я пытаюсь использовать строку (учитывая, что эти параметры должны быть впоследствии сохранены в текстовом файле) в качестве логического перехода make-shift. Итак, мне нужно иметь возможность переключать эту строку между true и false. Я предположил, что следующий метод будет работать, но по какой-то причине он всегда устанавливает значение true независимо. Это, насколько мне известно, единственное место в коде, где установлена переменная.Make-shift string boolean?
Я понятия не имею, почему следующий код не должен работать, и я провел тщательный поиск безрезультатно.
if("true".equals(settings[0]))
settings[0] = "false"; //This is *always* skipped
else if("false".equals(settings[0]))
settings[0] = "true";`
Поэтому я пришел сюда.
Когда некоторые данные являются логическими значениями, вы должны использовать логическое значение. При сохранении в виде строки преобразуйте это логическое значение в строку. При загрузке преобразуйте строку в логическое. Ваш код будет более читабельным, более эффективным и более надежным, если вы будете следовать этому правилу. –
Вы проверили, какие 'settings [0]' на самом деле содержат? Это время, когда компилятор сияет :) – Maroun
Этот фрагмент работает правильно, если 'settings [0]' is '" true "или' "false". Каково первоначальное значение 'settings'? – iamnotmaynard