简要概述java中==和equal的区别,Java == equals

  简要概述java中==和equal的区别,Java == equals

  区别:

  ==比较变量(栈)内存中存储的对象的(堆)内存地址,用于判断两个对象的地址是否相同,即是否引用同一个对象。比较才是真正的指针操作。

  Equals用于比较两个对象的内容是否相等。因为所有类都是从java.lang.Object类继承的,所以它适用于所有对象。如果这个方法没有被覆盖,object类中的方法仍然被调用,而object中的equals方法返回==的判断。

  java中的数据类型可以分为两类:

  基本数据类型

  字节型、短整型、字符型、整型、长整型、浮点型、双精度型、布尔型

  基本数据类型之间的比较需要两个等号(==),因为它们是在比较值。

  引用数据类型

  非基本数据类型,如接口、类和数组

  Java中的String字符串属于引用数据类型,因为String是一个类。

  当它们与(==)比较时,它们比较它们在内存中的存储地址。因此,除非是同一个新对象,并且它们的比较结果为真,否则比较结果为假。因为没有new会一次打开一个新的堆内存空间。

  Entity entity=新实体();

  Entity Entity 1=new Entity();

  Entity entity2=实体;

  system . out . println(entity==entity 2);

  system . out . println(entity . equals(entity 2));

  system . out . println(entity . equals(entity 1));

  system . out . println(entity==entity 1);结果:

  真实的

  真实的

  错误的

  假总结:

  对于复合数据类型之间的equals比较,在不重写equals方法的情况下,它们之间的比较仍然是内存中存储位置的地址值,与双等号(==)的结果相同;如果是复制的,请遵循复制的要求。

  ==的功能:

  基本型:比较的是数值是否相同;

  类型:比较的是地址值是否相同。

  等于的功能:

  类型:默认情况下,比较地址值。如果重写此方法,比较对象的成员变量的值是相同的。

  推荐教程:java入门教程以上是java中等号和“==”区别的详细内容。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: