zoukankan      html  css  js  c++  java
  • Integer int auto-boxing auto-unboxing ==

     Auto-boxing 自动装箱

    Auto-unboxing 自动拆箱

    == 相等

     1、new出来的对象,除非遇到了拆箱的情况,肯定不相等。

    因为new对象之前需要在JVM堆中提供空间,所以new出来的东西之间,至少内存地址是不一样的

    2、基本数据类型之间只比较值

    基本数据类型的值,是常量,位于方法区的常量池(1.7之后位于堆),基本数据类型变量都是指向这些值的。

    3、一个引用的类型只要是基本数据类型,就不再管赋给引用的东西是什么了,一律只比较值

    包装类对象赋值给基本数据类型时都会自动拆箱

    4、不一定赋值的时候,包装类对象跟基本数据类型比较的时候也会拆箱

    5、自动装箱,会产生一个包装类的对象,赋给引用。这里有两种情况

    第一种情况是装箱前的值 在Java设计的缓存的范围内,那么装箱后的对象是已有的缓存对象

    第二种情况是装箱前的值 在Java设计的缓存的范围外,那么装箱后的对象是new出来的对象

    而Integer装箱机制的缓存范围,在源码中是有详细实现的。

  • 相关阅读:
    scrapy(二)内容获取
    scrapy(一)建立一个scrapy项目
    scrapy(四)使用redis
    scrapy(三)使用mongoDB
    索引处的解码字符串
    Golang竞争状态
    Golang之泛型编程-细节
    区块链学这个就够了-DLT(一)
    Linux日志分析-Ubuntu(一)
    经典博弈-int
  • 原文地址:https://www.cnblogs.com/deolin/p/7228276.html
Copyright © 2011-2022 走看看