简要概述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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。