包装类

包装类基本原理
  • 包装类就是将基本数据类型封装到类中
    在这里插入图片描述
分类
  • 对象型包装类(Object的直接子类):
Boolean(boolean),Character(char)
  • 数值型包装类(Number直接子类)存在数值转换异常:
Byte(byte),Short(short),Long(long),Double(double),Float(float),Integer(int)
装箱与拆箱
  • 基本数据类型与相应包装类的数据处理
  • 装箱:将基本数据类型变为包装类对象,利用每个包装类提供的构造方法实现装箱
  • 拆箱:将包装类中的基本类型的值取出,利用Number类提供的xxValue()实现拆箱处理
Integer num = new Integer(55);//装箱
int data = num.intValue();//拆箱
Integer x = 55;//自动装箱

System.out.println(++x * 5);
//可以直接利用包装类对象操作
  • 这个时候依然存在有“==”和“equals”问题
    在这里插入图片描述
  • 阿里编码规范:所有相同类型的包装类对象之间的值比较,全部使用equals方法比较
  • 说明:对于Interger var = ?在-128—127之间的赋值,Interger对象在Interger常量池产生,会复用已有对象,这个区间内的Interger值可以直接使用==判断,除此以外的所有数据,都会在堆上产生,并不会复用已有对象
使用int还是Interger?
  • a.【强制】所有的POJO类(简单java类,Bean)属性必须使用包装类型
  • b.【强制】RPC方法的返回值和参数必须使用包装类型
  • c.【推荐】所有的局部变量使用基本类型
字符串与基本类型转换
  • 将字符串转为基本类型(静态方法)
调用各个包装类.parseXX(String str)
Interger.parseInt(String str);

在这里插入图片描述

  • 基本类型变为字符串
" "+基本类型
使用String类的valueOf(基本类型),此方法不产生垃圾空间(推荐)```
![在这里插入图片描述](https://img-blog.csdnimg.cn/20181028165142604.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1daTDk5NQ==,size_27,color_FFFFFF,t_70)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值