Java中布尔(原语)和布尔(原语包装器)的默认值是什么?
当前回答
布尔值没有默认值。Boolean必须用Boolean或String构造。如果对象未初始化,它将指向null。
原始布尔值的默认值为false。
http://download.oracle.com/javase/6/docs/api/java/lang/Boolean.html https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
其他回答
布尔是一个对象。如果它是一个实例变量,它将为null。如果在方法中声明,则必须初始化它,否则将会出现编译器错误。
如果你声明为一个原语,即布尔。如果是实例变量(或类变量),该值默认为false。如果它是在一个方法中声明的,你仍然必须将它初始化为true或false,否则将会出现编译器错误。
任何Object的默认值,比如Boolean,都是null。
布尔值的默认值为false。
注意:每个原语都有一个包装器类。每个包装器都使用默认值为null的引用。基本类型有不同的默认值:
boolean -> false
byte, char, short, int, long -> 0
float, double -> 0.0
注意(2):void有一个包装器void,它也有一个默认值为null,是它唯一可能的值(不使用hacks)。
未初始化的布尔成员(实际上是对布尔类型对象的引用)的默认值为null。
未初始化的布尔(原语)成员的默认值为false。
如果你需要问,那么你需要显式地初始化你的字段/变量,因为如果你必须查找它,那么其他人也可能需要这样做。
从这里可以看出,原语布尔值为false。
正如其他人提到的,布尔值默认为空。
布尔(对象)的默认值是null。 布尔(原语)的默认值是false。
推荐文章
- javax.transaction.Transactional vs . org.springframework.transaction.annotation.Transactional
- Java 8接口方法中不允许“同步”的原因是什么?
- 如何找到Java堆大小和内存使用(Linux)?
- 使用Enum实现单例(Java)
- RabbitMQ与通道和连接之间的关系
- buildSessionFactory()配置方法在Hibernate中已弃用?
- Spring MVC -如何获得所有的请求参数在一个地图在Spring控制器?
- 如何在Java中按两个字段排序?
- 文件之间的差异。路径中的分隔符和斜杠
- 在方法参数中使用NotNull注释
- Spring MVC中处理可选参数的@RequestParam
- Tomcat:如何查找正在运行的Tomcat版本?
- “java”、“javaw”和“javaws”之间有什么区别?
- 将Date对象转换为日历对象
- 在Java中保存最后N个元素的大小有限的队列