• == 与equals


    Object 中两者相同 

    equals重写的类 Integer 和String 比较的内容

    Integer ==  比较的是变量中的地址

    1.new Integer()之间的比较是false  因为是对象地址不同

    2.Integer i=1  之间的比较是相同的  因为拿的是integercache中的值(-127 ~128)的值 所以相等  在integercashe范围外的的比较是不相等的 因为就是对象了

    3.int之间的比较是相同的 因为存在常量池中

    4.new Integer 和 int的比较是相同的  因为自动拆箱

    5.Integer i=1 与 int之间的比较  在(-127~128)之间时  是相同的  范围之外是不相同的  

    6.new Integer() 和 Integer i=1比较是不相同的 ,因为new Integer()不会自动拆箱。

    Integer  eqauls 比较的是内容

    比较是相同的

    String ==

    1.new String()的比较是false 因为比较的是对象

    2.String ss=""是true  因为存储的是常量池中的常量的地址  而常量池中的常量不会重复 所以相同的字符串常量的地址是相同的

    3.new  String ==String ss="" 是不相同的

    String eqauls

    true

    字符串的拼接    

    1.常量之间的拼接 常量池直接在常量池创建新的常量或者指向已存在的常量

    2.有字符串变量的拼接 先在堆中创建对象 然后再常量池中创建对象 或者拿已经存在的常量的地址  堆中 values[]指向这个地址

    equals :是先判断类型是否是Integer类型  在判断intValue值是否相同

  • 相关阅读:
    PostgreSQL使用MySQL外表(mysql_fdw)
    使用node+puppeteer+express搭建截图服务
    零碎知识
    miniconda 搭建tensorflow框架
    有效需求分析阅读笔记(六)
    有效需求分析阅读笔记(五)
    索引原理和优势
    存储过程的优缺点
    RestSharp
    在vue中安装sass/scss报错
  • 原文地址:https://www.cnblogs.com/xiatc/p/12559050.html
Copyright © 2020-2023  润新知