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

本文详细解释了栈内存和堆内存的区别,通过具体例子说明了基本数据类型如long与其对应的包装类Long在内存中的存储方式。此外还介绍了基本类型与包装类在未赋值时的默认值及如何进行判断,以及在容器中使用基本类型和包装类的方法。

首先要明白栈内存和堆内存的区别,具体的值,比如int i = 5,这个值是放在栈内存中,Integer i = new Integer();这个i对象是放在堆内存中,而i(引用变量)是在栈内存中 。

以long为例

long是基本数据类型

当没有给该变量赋值时,该变量初始化值为0;在做语句判断的时候就不能用if(i==null){}做判断了,而是要用if(i==0){}

Long是包装类

当没有给该对象赋值时候,该对象的初始化值为null,此时判断就要用if(i==null){}

当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的外覆类了
比如List<Integer> list = new ArrayList<Integer>();

Java基本数据类型包装Java中用来表示数据的两种不同方式。 1. 基本数据类型(Primitive Data Types): - Java基本数据类型有8种:byte、short、int、long、float、double、charboolean。 - 这些基本数据类型直接存储着数据的值,它们是直接操作内存的,因此效率较高。 - 基本数据类型不具有任何方法,不能调用任何方法。 2. 包装(Wrapper Classes): - 包装是用来将基本数据类型包装起来,以便能够以对象的形式使用。 - Java提供了对应于每种基本数据类型包装:Byte、Short、Integer、Long、Float、Double、CharacterBoolean。 - 包装提供了许多有用的方法,可以进行型转换、比较、运算等操作。 - 包装是不可变的(immutable),即一旦创建就无法修改其值。 区别: - 基本数据类型是直接存储数据的值,而包装是将基本数据类型包装对象。 - 基本数据类型效率较高,而包装的效率较低,因为需要进行对象的创建销毁操作。 - 基本数据类型不能调用任何方法,而包装提供了许多有用的方法。 - 包装可以用于泛型、集合等需要对象作为参数的场景,而基本数据类型则不能直接使用。 - 基本数据类型内存中占据的空间大小是固定的,而包装内存消耗较大,因为需要额外存储一些信息。 总的来说,基本数据类型适合用于简单的数据操作,而包装适合用于需要更多功能灵活性的场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值