基本数据类型 VS 包装数据类型

本文探讨了Java中的基本数据类型(如byte,int)与包装数据类型(如Byte,Integer)的区别,涉及使用场景、存储位置、内存占用、默认值以及自动装箱(valueOf)和拆箱(.intValue())的概念。
摘要由CSDN通过智能技术生成

基本数据类型:

byte,short,int,long,float,double,char,boolean

包装数据类型:

Byte,Short,Integer,Long,Float,Double,Charcter,Boolean

基本数据类型和包装类型的区别

1.使用方式:

基本数据类型主要用于一些常量和局部变量。

在方法的参数、对象的属性中很少会使用基本数据类型来定义变量(包装类型可以为"null"可以表示缺失值)。

包装类型可以用于集合和泛型

2.存储方式

基本数据类型的局部变量存放在jvm(java虚拟机)中栈的局部变量表中,没有被static修饰的成员变量存放在jvm的堆中。

包装类型是对象类型,对象的实例化都存放在堆中。

3.占用空间

基本数据类型的占用内存比包装类型小

4.默认值

基本数据类型的默认值根据类型不同默认值不同。

byte:0             short:0               int:0                                     long:0L                      

float:0.0f         double:0.0         char:'\u0000' (空字符)         boolean:false

包装类型的默认值为null

5.比较方式

基本数据类型用 == 比较

包装类型用 equals 比较,包装类型的 == 比较的是俩个对象的内存地址是否相同

自动装箱和拆箱的原理

Integer i = 10; //装箱    
//等价于
Integer i = Integer.valueOf(10);
        
int n = i;      //拆箱
//等价于
int n = i.intValue();

装箱:就是调用了包装类的valueOf()方法

拆箱:就是调用了xxxValue()方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值