java基本类型与包装类型区别

java基本类型与包装类型区别


Java中基本类型都有固定的存储空间,不像其他大多数语言那样随机器硬件架构的变化而变化,这种占存储空间大小的不变性是java程序比其他大多数语言编写的程序更具可移植性的原因之一。



java中基本类型和包装类的区别:

1.包装类是对象,拥有方法和字段.对象的调用都是通过引用对象的地址 ;

2.包装类创建的是对象,拥有方法和字段.对象的调用都是通过引用对象的地址 ;

   基本类型不是.

3.包装类是引用传递 而基本类型是值传递 ;

4.变量的值存储在栈里,而对象存储在堆里,相比而言,堆栈更高效,这也是java保留基本类型的原因。包装类创建的对象,可以使用api提供的一些有用的方法。更为强大。


eg:

  int 是基本类型,直接存数值 .

  Integer是类,产生对象时用一个引用指向这个对象 .



Java把内存划分成两种:一种是栈内存,另一种是堆内存 

在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配 而实际的对象是在存储堆内存中 
即 
  int i = 5;//直接在栈中分配空间 

  Integer i = new Integr(5);//对象是在堆内存中,而i(引用变量)是在栈内存中 

在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理. 

因为在堆中分配空间所需的时间远大于从栈中分配存储空间,所以JAVA速度比C 慢

当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装类了。Java中每种基本类型都有相应的包装类。





  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值