“=” 比较的理解

  • 常量池:Byte,Short,Integer,Long,Character这5种整型的包装类也只是在对应值小于等于127并且大于等于-128时才可使用常量池,因为他们至占用一个字节(-128~127);
  • 以Integer包装类为例:
    Integer i_0 = 59; 
    Integer i_1 = new Integer(59);//new 的方式在堆上创建一个对象
    Integer i_2 = Integer.valueOf(59);//Integer.valueOf() 在范围内使用缓存创建
    int i_3 = 59;
  • '=='比较的是地址。
  • 但当比较的是基本数据类型时,比较的为值。若有'=='一边有Integer类型,会转换成int类型,然后比较值。
    i_0 == i_3 //true
    i_2 == i_0 //true
  • 当比较的是对象时,比较的是对象地址。
  • 代码。

图片说明

  • 内存图。

图片说明

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务