zoukankan      html  css  js  c++  java
  • Java的自动装箱


    JDK5的新特性
    自动装箱:把基本类型转换为包装类类型
    自动拆箱:把包装类类型转换为基本类型

    注意一个小问题:
    在使用时,Integer x = null;代码就会出现NullPointerException(空指针异常)
    建议先判断是否为null,然后再使用。

    public static void main(String[] args){
    //定义一个int类型的包装类类型变量i
    // Interger i = new Integer(100);
    Integer ii = 100;
    ii += 200;
    System.out.println("ii:" + ii);

    //通过反编译后的代码
    //Integer ii = Integer.valueOf(100); //自动装箱
    //ii = Integer.valueOf(ii.intValue() + 200);//自动拆箱,在自动装箱
    //System.out.println((new StringBuilder("ii:")).append(ii).toString());

    Integer iii = null;
    //建议先判断是否为null,然后再使用。
    //NullPointerException
    if(iii != null){
    iii += 1000;
    System.out.println(iii);
    }
    }

    /*
    *看程序写结果
    *
    *注意:Integer的数据直接赋值,如果在-128到127之间,会直接从缓冲池里获取数据
    */
    /**Integer直接赋值的面试题*/
    public static void main(String[] args){
    Integer i1 = new Integer(127);
    Integer i2 = new Integer(127);
    System.out.println(i1 == i2);//false
    System.out.println(i1.equals(i2));//turn
    System.out.println("----------------");

    Integer i3 = new Integer(128);
    Integer i4 = new Integer(128);
    System.out.println(i3 == i4);//false
    System.out.println(i3.equals(i4));//turn
    System.out.println("----------------");

    Integer i5 = 128;
    Integer i6 = 128;
    System.out.println(i5 == i6);//false
    System.out.println(i5.equals(i6));//turn
    System.out.println("----------------");

    Integer i7 = 127;
    Integer i8 = 127;
    System.out.println(i7 == i8);//turn
    System.out.println(i7.equals(i8));//turn
    System.out.println("----------------");

    //通过查看源码,我们就知道了,针对-128到127之间的数据,做了一个数据缓冲池,如果数据是该范围内的,每次并不创建新的空间
    // Integer ii = Integer.valueOf(127);
    }

  • 相关阅读:
    c#函数重载
    (1).net c# 一步一步自己写三层代码生成器(主界面及连接数据库界面)
    C#给datagridview某行赋值(转)
    好的软件人员必看的六十本书
    C# 语言规范
    spring 排除指定的类或者包扫描
    java web spring 发送邮件
    spring-data-redis和jedis版本对应收集总结
    python 多线程和多进程基本写法
    python 调用nmap
  • 原文地址:https://www.cnblogs.com/lszbk/p/12318612.html
Copyright © 2011-2022 走看看