java进阶1—包装类

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、包装类是什么?

java基本数据类型沿用了c语言中的数据类型,但是在面向对象编程中,基本数据类型的使用满足不了java的使用,如需要将基本数据类型用于equal比较时就会报错,这时包装类应运而生,他将每一个基本数据类型包装成了一个类

二、包装类有哪些

以下是java包含的所有包装类
在这里插入图片描述
除了char和int比较特殊外,其他都是将首字母大写,包装类具有类的基本特性。Integer,Short,Long,Float,Byte,Double都继承了Number类
在这里插入图片描述
在这里插入图片描述

三、包装类缓存

包装类具有缓存,见源码
在这里插入图片描述
以Integer包装类的缓存机制为例,Java会对[-128,127]之间的数据做缓存

        int a=100,b=200;
        Integer c=a,d=a;
        Integer e=b,f=b;
        long l=100l;
        Long ll=l;
        System.out.println(c==d);       //true		
        System.out.println(e==f);       //false		
        System.out.println(a==l);       //true		
        System.out.println(c==l);       //true		
        System.out.println(e.equals(f));        //true		
        System.out.println(c.equals(l));        //false		
        System.out.println(c.equals(ll));       //false		

四、基本数据类型、包装类和string类间的转化

自动装箱:将基本数据类型用他们对应的包装类包装起来
自动拆箱:将包装类型转换为基本数据类型

1.基本数据类型与包装类的转换

//基本数据类型与包装类的转换
        int a = 1;
        float b = 2f;

        //基本转包装
        Integer integer = new Integer(a);
        Float afloat = new Float(b);
        //自jdk1.5后有的自动装箱和自动拆箱
        Integer i = a;
        Float j = b;

        //包装转基本
        int a1 = integer.intValue();
        float a2 = afloat.floatValue();
        //自动拆箱
        int b1 = i;
        float b2 = j;

2.基本数据类型与String的转换

//基本数据类型与String的转换

        //基本数据类型转String
        //加''
        String q = a + "";
        //使用String类valueOf的方法
        String w = String.valueOf(a);

        //String转基本数据
        //使用相应的parsexxx()方法
        int e = Integer.parseInt(q);
        float r = Float.parseFloat(w);

3.包装类与String的转换

		//包装类与String的转换

        //包装类转String
        String d="60";
        Integer In2=Integer.valueOf(d);
        //String转包装类
        d=In2.toString();

总结

以上就是包装类的全部内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值