6.Java中的包装类(上篇)

  • 目录

    1.概述

    2.Integer类

    3.基本数据类型与字符串之间的转换

  • 1.概述

    • Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:
      • 基本类型 对应的包装类(位于java.lang包中)
      • byte Byte
      • short Short
      • int Integer
      • long Long
      • float Float
      • double Double
      • char Character
      • boolean Boolean
  • 2.Integer类

    • 包装一个对象中的原始类型 int 的值
    • 2.1Integer类构造方法及静态方法
      • 方法名 说明
      • public Integer(int value) 根据 int 值创建 Integer 对象(过时)
      • public Integer(String s) 根据 String 值创建 Integer 对象(过时)
      • public static Integer valueOf(int i) 返回表示指定的 int 值的 Integer 实例
      • public static Integer valueOf(String s) 返回保存指定String值的 Integer 对象
      • static string tobinarystring(int i) 得到二进制
      • static string tooctalstring(int i) 得到八进制
      • static string toHexstring(int i) 得到十六进制
      • static int parseInt(string s) 将字符串类型的整数转成int类型的整数
    • 2.2装箱与拆箱
      基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“
      • 装箱:从基本类型转换为对应的包装类对象。
      • 拆箱:从包装类对象转换为对应的基本类型。
      • 基本数值---->包装对象
        • Integer i = new Integer(4);//使用构造函数函数
        • Integer iii = Integer.valueOf(4);//使用包装类中的valueOf方法
      • 包装对象---->基本数值
        • int num = i.intValue();
    • 2.3自动装箱与自动拆箱
      从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作可以自动完成
      • Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
      • i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5;
      • //加法运算完成后,再次装箱,把基本数值转成对象。
  • 3.基本数据类型与字符串之间的转换

    • 3.1基本类型转换为String
      • 方式一:直接在数字后加一个空字符串
        String s1 = number + "";
      • 方式二:通过String类静态方法valueOf()
        String s2 = String.valueOf(number);
    • 3.2String转换成基本类型
      除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型
      • public static Xxx parseXxx(String s) //将字符串参数转换为对应的Xxx基本类型
      • 方式一:先将字符串数字转成Integer,再调用intValue()方法(以Integer为例)
        Integer i = Integer.valueOf(s);
        int x = i.intValue();
      • 方式二:通过Integer静态方法parseInt()进行转换(以Integer为例)
        int y = Integer.parseInt(s);
    • 3.3底层原理
      • 建议:获取Integer对象的时候不要自己new,而是采取直接赋值或者静态方法valueOf的方式
      • 因为在实际开发中,-128~127之间的数据,用的比较多。如果每次使用都是new对象,那么太浪费内存了。
      • 这个范围之内的每一个数据都创建好对象,如果要用到了不会创建新的,而是返回已经创建好的对象。
  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zd08

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

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

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

打赏作者

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

抵扣说明:

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

余额充值