zoukankan      html  css  js  c++  java
  • Integer包装类中的IntegerCache结构


    public
    void test3() { Integer i = new Integer(1); Integer j = new Integer(1); System.out.println(i == j);//false:比较地址,是否是同一对象 //Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[], //保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在 //-128~127范围内时,可以直接使用数组中的元素,不用再去new了。目的:提高效率 Integer m = 1;//自动装箱 Integer n = 1;//自动装箱时调用了已经写好的Integer[]数组 System.out.println(m == n);//true Integer x = 128;//相当于new了一个Integer对象 Integer y = 128;//相当于new了一个Integer对象 System.out.println(x == y);//false } }

    Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],
    保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在
    -128~127范围内时,可以直接使用数组中的元素,不用再去new了。目的:提高效率

    扩展与延伸
    除了Integer之外,在其他包装类(例如:Byte,Short,Long等)中也存在类似的设计。

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    linux添加自定义命令
    linux 将自己的服务添加到系统service服务
    制作linux下的.run安装包
    Wowza 相关
    深入理解 Vue Computed 计算属性
    养狗相关知识整理
    柯基犬体重对照图
    window下tomcat的内存溢出问题
    postMan测试https接口
    beego获取用户请求参数的方法
  • 原文地址:https://www.cnblogs.com/CCTVCHCH/p/14590770.html
Copyright © 2011-2022 走看看