zoukankan      html  css  js  c++  java
  • 7.基本类型的包装类

    什么是包装类?

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

    怎么用?

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

    byte short   char int long float double boolean void
    Byte Short Charactor Integer Long Float Double Boolean Void

    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();

  • 相关阅读:
    VirtualBox 全屏问题
    PHP中SQLite模块的加载
    Js选择器总结
    安全测试06常规软件的需要测试哪些方面?
    安全测试04kala Linux 局域网扫描IP进行断网攻击
    安全测试10nmap基本使用方法
    安全测试03kali Linux 长期获取ROO权限
    安全测试09DMitry域名查询工具
    MeterSphere自动化测试框架安装步骤
    安全测试05Wpscan扫描WordPress漏洞
  • 原文地址:https://www.cnblogs.com/xuwangqi/p/11195042.html
Copyright © 2011-2022 走看看