7.基本类型的包装类

什么是包装类?

为了能快速使用基本类型的数据,提供了基本类型对应的类,这就是包装类. 包装类是个功能类,而不是将基本类型转成包装类。

怎么用?

通过类创建对象就能使用java提供的功能便捷的操作基本类型数据

byteshort  charintlongfloatdoublebooleanvoid
ByteShortCharactorIntegerLongFloatDoubleBooleanVoid

1.Void

    //void---没有返回值
    public void m() {}
    //Void 返回是一个类且只能是null
    public Void n() {return null;}

2.Integer

        //创建Integer对象
        //包装类对象由基本类型数据构建而来 ----封箱
        int i=5;
        Integer in=new Integer(i); 
        //基本类型数据直接赋值给包装类对象-----自动封箱 --JDK1.5的特性
        //底层是由包装类点valueof()把基本类型数据转成包装类对象
        //Integer.valueof(i);
        Integer in2=i;
        System.out.println(in); //5
        //创建一个包装类对象
        Integer in3=new Integer(232); 
        //包装类对象直接赋值给基本类型数据---自动拆箱 ----jdk1.5新特性
        //底层依赖包装类对象调用***Value()生成基本类型数据
        //in3.intValue()
        int j=in3;
        System.out.println(j); //232
    //Ingeter,short,byte,long 中-128--127一个共享范围,超出范围就每次返回一个新对象    
    //char是0--127  
        Integer in4=150;
        Integer in5=150;
        System.out.println(in4==in5); //false

整数类型有共享范围(-128,127),在这个范围内不同对象给定相同的基本类型值,返回的时同一个数组的元素,超过这个范围,每次返回的都是新对象

   Integer in7=10;
        int i1=10;
        System.out.println(i1+in7); //20

Integer(String s)

    Integer in=new Integer("3454"); //可以容忍+ -表示负数正数
    System.out.println(in);       //3454
    //Integer in1=new Integer("151i");//java.lang.NumberFormatException 数据格式错误
    //出现了只有true字样,可以忽略大小写,返回的才是true。其他全是false
    Boolean b=new Boolean("True");
    
    //类名.parseInt()---把其他类型转成包装类对象 采用构造方法太麻烦了 
    //其他类型都有parseInt(),除了Character,因为字符串已经提供了很多的方法了
    System.out.println(Integer.parseInt("123")); //123

 

包装类对象的hashCode值都是固定的

    //包装类的hashCode  哈希码值就是输入的整数 因为底层重写object hashCode然后输进去多少返回多少
    System.out.println(new Integer(12).hashCode());
    System.out.println(new Byte((byte)12).hashCode());
    System.out.println(new Character((char)12).hashCode());

 如果试图使用一个字符串来创建Boolean对象时,如果传入的字符串时true,或此字符串不同字母的大小写变化形式,都将创建true对应的Boolean对象;如果传入

其他的字符串,则会创建false对应的Boolean对象。

如果希望获得包装类对象中包装的基本类型变量,则可以使用包装类提供的xxxValue()实例方法。

//取出Boolean对象里的boolean对象
boolean bb=bObj.booleanValue();
//取出Integer对象里的int变量
int i=itObj.intValue();

 

转载于:https://www.cnblogs.com/xuwangqi/p/11195042.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值