“=” 比较的理解

  • 常量池: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
  • 当比较的是对象时,比较的是对象地址。
  • 代码。

图片说明

  • 内存图。

图片说明

全部评论

相关推荐

头像
10-27 15:50
门头沟学院 Java
想进开水团喝开水:有一种店 只能外卖 不能堂食 你猜为什么
点赞 评论 收藏
分享
11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务