Boolean包装类型

简介: 博主今天在工作中发现了Boolean包装类型的使用,由此整理了相关内容,下面我们一起来看下吧。

提示:以下是本篇文章正文内容,下面案例可供参考

一、为什么要有包装类型?

为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型)因为容器都是装object的,这时就需要这些基本类型的包装器类了。

二、基本类型和包装类型的区别:

1.声明方式不同

基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;

2.存储方式及位置不同

基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;

//直接在栈中分配空间 
int a = 5;
//对象是在堆内存中
Integer b = new Integr(5);

3.初始值不同

基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null;

4.使用方式不同

基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。代码如下(示例):

 Boolean a = false;
 List<Boolean> list = new ArrayList<>();
 list.add(a);

三、为什么在Java持久类中属性应该定义为包装类型?

(1)包装类型的默认值都是null,而基本数据类型的默认值是一个固定值,如boolean是false,byte、short、int、long是0,float是0.0f等;
(2)在某些场合,我们需要默认值表示该数值未知,如果返回基本类型的默认值会具有意义,需要进行特殊判断和处理,因此需要包装类型的默认值null。

四、Boolean.True.equals() 使用场景

普通的boolean类型,value只有两种情况,true或false,这样直接使用是没有什么问题的。但是如果使用boolean的包装类Boolean,value就会有三个值。Boolean可以为null。如果需要用一个方法返回的结果是Boolean并且有可能为null值,那么就需要使用Boolean.True.equals()进行判断。代码如下(示例):

Boolean flag = true;
if (Boolean.TRUE.equals(flag)){
    System.out.println("标识为true");
}

╭◜◝ ͡ ◜◝╮
( ˃̶͈◡˂ ̶͈ )感觉有用的话,欢迎点赞评论呀!
╰◟◞ ͜ ◟◞╯

相关文章
|
1月前
|
SQL 流计算 OceanBase
OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
【2月更文挑战第25天】OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
28 3
|
6月前
|
前端开发 JavaScript
前端基础 - JavaScript值Boolean类型的默认转换
前端基础 - JavaScript值Boolean类型的默认转换
30 0
|
27天前
|
IDE Java 开发工具
阿里巴巴不建议 boolean 类型变量用 isXXX
阿里巴巴不建议 boolean 类型变量用 isXXX
11 1
|
1月前
|
算法 测试技术 编译器
【C++ 基本类型 bool 】深入探索C++中的布尔类型Boolean(二 )
【C++ 基本类型 bool 】深入探索C++中的布尔类型Boolean
27 0
|
1月前
|
程序员 编译器 C语言
【C++ 基本类型 bool 】深入探索C++中的布尔类型Boolean(一)
【C++ 基本类型 bool 】深入探索C++中的布尔类型Boolean
40 0
|
4月前
|
IDE Java 开发工具
阿里巴巴不建议 boolean 类型变量用isXXX的理由?
平时工作中大家经常使用到boolean以及Boolean类型的数据,前者是基本数据类型,后者是包装类,为什么不推荐使用isXXX来命名呢?到底是用基本类型的数据好呢还是用包装类好呢?
|
8月前
|
JavaScript
TypeScript 与 JS 中类型首字母大小写区别(String、string、Number、number、Boolean、boolean ...)
TypeScript 与 JS 中类型首字母大小写区别(String、string、Number、number、Boolean、boolean ...)
168 0
|
JavaScript
js:常见对象的类型判断typeof和布尔值Boolean
js:常见对象的类型判断typeof和布尔值Boolean
82 0
|
存储 Java
简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则
简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则
118 1
简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则
|
前端开发 关系型数据库 MySQL
MySQL中boolean类型设置(想法分享)
MySQL中boolean类型设置(想法分享)
489 0
MySQL中boolean类型设置(想法分享)

热门文章

最新文章