拆箱和装箱(有了基本数据类型为什么还需要包装类)

一,什么是基本数据类型

java中提供了八个基本的数据类项:

  整型:int(4B),byte(1B),short(2B),long(8B),

  浮点型:float(4B),double(8B),

  布尔型:boolean(1B),

  字符型:char(2B)

*String不是基本的数据类型

每个基本的数据类型都会有一个对应得包装类(int---Integer)

二,装箱和拆箱

1、装箱,基本数据类项转换成对应的包装类型

(1)构造方法

Integer int1=new Integer(1);

(2)valueOf()实际也是通过构造方法 

Integer int2=Integer.valueOf(1);

(3)自动装箱(实际上编译时会调用 Integer的ValueOf封装)

Integer int3=1;

 

 2、拆箱,包装类转基本数据类型

(1)手动拆箱方式

 
  
Integer int3=1;
int int4=int3.intValue();

 

 (2)自动拆箱(实质:在编译的时候调用用intValue()

    Integer int3=1;
    int int5=int3;

 

 

三,总结:java面向对象是面向对象的语言,而基本的数据类型不具备面向对象的特性(封装继承多态)

(1)举例说明:

  用Integer和int分别表示Person的Id

  Integer可以判断(id==null),取最大值(Max),最小值(Min)

  int作为基本数据类型就没有这些属性

(2)再比如:

  Integer在判断两个对象是否相等时,可以使用equals()自定义的比较方式

  而int只能用==判断值是否相等

  《“==”与equals详细区分》

 

 

转载于:https://www.cnblogs.com/excellencesy/p/9115953.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值