Хотя я знаю, что по определению булевое состоит только из двух состояний: true или false. Мне было интересно, какое значение имеет значение boolean, прежде чем оно будет инициализировано одним из этих состояний.Что такое третье булево состояние в java?
ответ
Edit: По многочисленным просьбам:
, если вы не используете обернутый Boolean, который по умолчанию нулевое значение. - sudhir.j
В общем, переменные Java по умолчанию используют то, что программисты C могут вызывать значения «falsey» - например. 0, null, false и т. Д. – hbw
, если вы не используете завернутый Boolean, который по умолчанию имеет значение null. –
@ sudhir.j совершенно правый. Я надеюсь, что ответ будет отредактирован, чтобы включить это. –
Если это локальная переменная, это ошибка компилятора, чтобы ссылаться на нее до ее инициализации. Если это поле, оно инициализируется значением false.
то же самое относится к содержимому массива –
В JAVA булевых типах по умолчанию используется значение False.
Третьего государства нет. Как сказал @Yishai, если вы не присвоите значение, булевским полям по умолчанию будет false. Локальные переменные должны быть назначены перед использованием:
Доступ неинициализированная местной переменной приведет к компиляции ошибки
См the doc.
Это ложь
Если вы что-то вроде
boolean isTrue;
System.out.println(isTrue);
Вы должны получить компиляции ошибки времени, потому что булево не был инициализирован. По умолчанию при попытке инициализировать это будет установлено значение false;
Да, но если логическая переменная является переменной экземпляра, она по умолчанию имеет значение false, без предупреждения. –
public class NewMain {
boolean foo;
Boolean bar;
public static void main(String[] args) {
NewMain obj = new NewMain();
obj.whatBoolean();
}
public void whatBoolean() {
System.out.println(foo);
System.out.println(bar);
}
}
выходов
false
null
Я знаю, что это было более философский вопросом, но благодаря Autoboxing вы можете использовать Java в качестве почти истинно языка OO (я ненавижу примитивные типы ... теперь только если он будет работать и наоборот). Однако он изменяет поведение при использовании объекта (для лучшего ИМО).
FYI, boolean defaults to false, примитивные номера по умолчанию равны 0, 0L, 0f или 0d соответственно, char по умолчанию - '\ 0', ссылки на объекты (такие как Boolean) по умолчанию равны null.
Это также относится к содержимому массивов. (Общая информация о том, что массив объектов изначально заполнен нулевыми значениями)
- 1. Что такое третье значение в заполнении CSS?
- 2. Что такое «стабильное состояние Java 6»
- 3. Что такое состояние Spring.Net?
- 4. Что такое СОСТОЯНИЕ Боба?
- 5. Что такое угловое состояние?
- 6. Что такое состояние easyautocomplete?
- 7. Что такое устаревшее состояние?
- 8. Что такое внутреннее состояние?
- 9. Что такое состояние деятельности
- 10. Что такое состояние в $ stateprovider?
- 11. Что такое другое состояние объекта?
- 12. Булево выражение в Java
- 13. Что такое идентификация и состояние объектов типа "java.lang.Enum" в java?
- 14. булево в программе Java
- 15. Что ActionBar.setHomeButtonEnabled (булево)
- 16. Что такое пользовательское состояние в ZfcUser?
- 17. Что такое «состояние представления» в REST archtecture
- 18. Что такое чистое состояние в кэше L2?
- 19. Что такое приостановленное состояние в сети
- 20. Что такое современное состояние для использования vim как java IDE
- 21. Numpy: возвращает булево массив состояние после проверки
- 22. Java булево нулевой отливать
- 23. Приоритет Java булево
- 24. Java: ждать булево изменить
- 25. инициализации булево массив в Java
- 26. Что такое LifeCycle Thread в Java?
- 27. Что такое состояние после сбоя Thread?
- 28. Что такое текущее состояние разработки Mono 2.8?
- 29. Что такое состояние регистрации данных 13
- 30. Что такое состояние блокировки после десериализации
Третьим булевым состоянием обычно является FileNotFound. – Brian
@Brian, разве это не зависит от того, реализуете ли вы Паулу Бин? –
@Paul: Когда вы не наблюдаете, его не существует. Квантовая функция разрушается только при открытии двери: D – talonx