Java教程

Java中== 和equals的区别

本文主要是介绍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


这篇关于Java中== 和equals的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!