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

  • 相关阅读:
    Kubernetes滚动更新介绍及使用-minReadySeconds
    Office 365 – SharePoint 2013 Online 与Office相关的应用
    Office 365 – SharePoint 2013 Online 中添加域和域名
    Office 365
    Office 365 – SharePoint 2013 Online 之WebPart开发、部署教程
    Office 365
    Office 365
    信仰坚持!程序员也有春天!
    SharePoint 2013 日历重叠功能简介
    SharePoint 2013 使用 PowerShell 更新用户
  • 原文地址:https://www.cnblogs.com/lszbk/p/12318612.html
Copyright © 2011-2022 走看看