java常见面试考点(五):基本类型和包装类型的区别

java常见面试考点

往期文章推荐:
  java常见面试考点(一):自增变量
  java常见面试考点(二):单例模式
  java常见面试考点(三):类初始化与实例初始化
  java常见面试考点(四):方法的参数传递机制
  java常见面试考点(六):深入理解String类型


【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权);

本博客的内容来自于:java常见面试考点(五):基本类型和包装类型的区别

学习、合作与交流联系q384660495;

本博客的内容仅供学习与参考,并非营利;


一、基本数据类型与包装类型

基本类型 二进制位数 包装器类
boolean 1 Boolean
byte 8 Byte
char 16 Character
short 16 Short
int 32 Integer
long 64 Long
float 32 Float
double 64 Double

1.基本数据类型出现的原因? 在Java编程思想的第一章就讲到:万物皆对象,new一个对象存储在堆中,我们通过堆栈的引用来使用这些对象,但是对于经常用到的一系列类型如int,如果我们用new将其存储在堆里就不是很有效——特别是简单的小的变量。所以就出现了基本类型,同C++一样,Java采用了相似的做法,对于这些类型不是用new关键字来创建,而是直接将变量的值存储在堆栈中,因此更加高效

2,包装数据类型出现的原因?
Java是一个面向对象的语言,基本类型并不具有对象的性质,为了与其他对象“接轨”就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。同时也方便了向其他数据类型转换。

关于基本类型和包装类型的总结

  • 基本类型的优势:数据存储相对简单,运算效率比较高。包装类的优势:和其他对象“接轨”,比如集合的元素必须是对象类型,满足了java一切皆是对象的思想,方便与其他数据类型转换;
  • 声明方式不同,基本类型不适用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;
  • 存储方式及位置不同,基本类型是直接将变量值存储在堆栈中,而包装类型是将对象放在堆中,然后通过引用来使用;
  • 初始值不同,基本类型的初始值如int0booleanfalse,而包装类型的初始值为null
  • 使用方式不同,基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到;

二、自动拆箱与装箱

1.拆箱与装箱

装箱:

  将基本数据类型封装为包装类对象,利用每一个包装类提供的构造方法实现装箱操作。

// 自动装箱
Integer integer1 = 1;
// 手动装箱
Integer integer1 = new Integer(1);
Integer integer1 = Integer.valueOf(1);

拆箱:
 将包装类中包装的基本数据类型数据取出。

// 自动拆箱
int integer2 = integer1; 
// 手动拆箱
int integer2 = integer1.intValue(); 

2.包装类的缓存问题

1. 实验一:基本数据类型的==比较会是怎么样?

int i1 = 127;
int i2 = 127;
System.out.println(" int和int进行==比较: "
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天的爱人是绿色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值