• 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等)中也存在类似的设计。

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    python-批量执行.py文件
    python-写入excel(xlswriter)
    python-读取excel(xlrd)
    python接口自动化测试-requests.post()
    python-读取配置文件
    python-mysql
    python-Redis的List操作
    python-Redis的String、Hash操作
    Elasitcsearch High Level Rest Client使用示例
    前端并发优化技巧
  • 原文地址:https://www.cnblogs.com/CCTVCHCH/p/14590770.html
Copyright © 2020-2023  润新知