GetBoolean (String str) и valueOf (String str) из булева класса дают разные результаты
Я с удивлением понимаю, что метод getBoolean()
и valueOf()
возвращает разные результаты для одной и той же входной строки.
Я попытался передать "true"
оба метода. Но getBoolean()
дает мне ложный вывод, тогда как valueOf()
дает правильный результат, который является истинным. Почему?
Ответы
Ответ 1
  ваш друг.
Ответ 2
javadoc getBoolean четко заявляет, что он ищет свойства системы. Значение, которое вы передаете ему, - это имя системного свойства, а не строка "true" или "false".
Например, `var b = Boolean.getBoolean( "some.property" );
Ответ 3
Я тоже нашел эту проблему недавно при использовании Boolean.getBoolean(). Кроме того, если вы хотите иметь нулевую проверку, вы можете использовать Boolean.parseBoolean, которая вернет false в случае nulls
Ответ 4
class Boo1
{
public static void main(String[] args)
{
System.setProperty("true","true");
System.setProperty("false","true");
boolean d=Boolean.getBoolean("true");
System.out.println(d);
}
}