zoukankan      html  css  js  c++  java
  • == 与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值是否相同

  • 相关阅读:
    Android学习地址
    Android动画设计源码地址
    chromeWebBrowser之浏览器开发
    win8.1蓝屏解决
    打包应用程序
    win8.1解决鼠标右键反应慢的问题
    Rewrite服务器和robots文件屏蔽动态页面
    第08组 Alpha事后诸葛亮
    第08组 Alpha冲刺(6/6)
    第08组 Alpha冲刺(5/6)
  • 原文地址:https://www.cnblogs.com/xiatc/p/12559050.html
Copyright © 2011-2022 走看看