百木园-与人分享,
就是让自己快乐。

Java中== 和equals的区别

java中==和equal的区别

文章目录

      • java中==和equal的区别

java中有八种基本数据类型

  • short/int/long/float/double
  • byte
  • char
  • boolen

这些基本的数据类型在生成时直接存储在内存中的内存栈上,数据本身的值就是存储在栈空间里面。

==就是在内存栈上比较这两个值是否相同。

这些基础数据类型毕竟缺少灵活性,java给每个基础数据类型都加了引用数据类型

  • Short/Integer/Long/Float/Double
  • Byte
  • Character
  • Boolen

引用数据类型的“引用”(存储对象在内存堆上的地址)是存储在有序的内存栈上,而对象本身的值则存在内存堆上。

equals就是来比较两个对象之间的是否相同。==则比较两个存储对象的\"引用\"是否相同。

// 这里当一个数值和对象相比较的时候怎么办?
int a = 12;
Integer b = 12;
System.out.println(a==b);  // true

但是能够发现

Integer a = 12;
Integer b = 12;
System.out.println(a==b);  // true
Integer c = 1000;
Integer d = 1000;
System.out.println(c==d);  // false

对于Integer来说,会创建一个缓存区域,用来存放-128~127之间的数据

JVM调优学习(一):基本概念 - 爱码网 (likecs.com)


向手机发送短信,使用的是极光推送

向app发送通知,使用的是极光推送

向设备端发送通知,使用的是IoTHub



来源:https://blog.csdn.net/weixin_39393712/article/details/123237063
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Java中== 和equals的区别

相关推荐

  • 暂无文章