Java中有了基本数据类型为什么需要封装类型

基本数据类型

8种:float, int, boolean, short, char, byte, double, long

存储位置:基本类型存储在栈中

包装类型

8种:Float, Integer, Boolean, Short Character, Byte, Double, Long

存储位置:作为对象在堆上创建和存储, 通过引用来使用

比较

  1. 从参数传递上来说,基本类型只能按值传递,而每个封装类都是按引用传递的;
  2. 从存储的位置上来说,基本类型是存储在栈中的,而所有的对象都是在堆上创建和存储的,所以基本类型的存取速度要快于在堆中的封装类型的实例对象;
  3. 基本类型的优势是:速度快(不涉及到对象的构造和回收),数据存储相对简单,运算效率比较高;
  4. 封装类型的优势是:更好的处理数据之间的转换,方法很多,用起来也方便,类型转换的api更好用了,比如Integer.parseInt(*)等的,每个封装类型都提供了parseXXX方法和toString方法。而且在集合当中,也只能使用封装类型。封装类型满足了Java中一切皆对象的原则。

为什么需要封装类型/基本类型

  1. Java作为面对对象语言,基本数据类型其实破坏了面对对象的特性。但是直接存放在栈等优点使它占用空间少,更简单,更灵活,更高效
  2. 封装类型值可为null,实际中存在需要使用null的场景。基础类型因直接存储在栈中要有默认值。(包装类型可让引用为空(null))
  3. 兼容集合类等容器使用需要
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值