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");
}
╭◜◝ ͡ ◜◝╮
( ˃̶͈◡˂ ̶͈ )感觉有用的话,欢迎点赞评论呀!
╰◟◞ ͜ ◟◞╯