2016 - 2024

感恩一路有你

eq闪双风是什么机制 equal和双等的区别?

浏览量:2264 时间:2021-04-09 02:32:33 作者:admin

equal和双等的区别?

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

1。基本数据类型,也称为原始数据类型。Byte,short,char,int,long,float,double,Boolean

它们之间的比较使用双等号(=)来比较它们的值。

2. 复合数据类型(类)

当它们与(==)比较时,它们会比较它们在内存中的存储地址。因此,除非它们是相同的新对象,否则它们的比较结果为真,否则比较结果为假。Java中的所有类都继承自object的基类。在object的基类中,定义了一个equal方法。此方法的初始行为是比较对象的内存位置,但在某些类库中,此方法已被覆盖,例如string、integer和date。在这些类中,equals有自己的实现,不再是堆内存中比较类的存储地址。

对于复合数据类型之间的相等比较,在不重写equals方法的情况下,它们之间的比较仍然基于它们在内存中存储位置的地址值,因为对象的equals方法也与双等号(=)进行比较,因此,比较后的结果与双等号(=)的结果相同。相比之下,就像Java开发语言中的两个豌豆一样,我们经常使用双等号“==”使两个变量(如3==3)为真。但是在Java中,我们使用string=“=”来判断第二个变量。有时两个变量是完全相同的,但是它们的结果总是不相等(false),所以对于新手开发人员来说,这常常是令人困惑的。通常在展开时,我们经常使用A.equals(b)来判断两个字符串是否相等。

在Java中,使用“==”通常比较两个变量的地址,也就是说,如果两个变量存储在同一个内存单元中,它们的结果将相等。对于两个字符串string a=“1234”string B=“1234”,对于两个变量a和B,当使用“==”和a.equals(B)时,它们的结果是相等的,因为两个字符串a和B后面是两个字符串常量,并且它们在内存中的存储位置相同,所以“==”和a.equals(B)的结果是相等的;

但是对于字符串a=new string(“1234”)字符串B=new string(“1234”),虽然a和B的结果都是“1234”,但是用“==”来判断时,结果是不相等的,因为此时a和B是两个对象,内存位置不相等,所以“=”他的判断是不相等的,此时,使用a.equals(b)得到的结果是正确的;

使用a.equals的原因是(b)结果是两个字符串相同,因为string类重写了equal()方法。他的比较方法是遍历两个字符串中的每个字符。只有当两个字符串的每个位置的字符相同时,此方法返回的值才会相等(true)。因此,在我们的开发过程中,当遇到字符串比较时,我们使用string equals()方法进行判断,这样可以减少很多bug。同样,我们不仅可以使用equal()方法进行字符串比较,还可以使用equal()方法对任意两个对象进行比较;

阅读以上内容后,您知道Java字符串比较吗?

eq闪双风是什么机制 亚索双风q接eq第二个q不出来 eq双风需要多少攻速

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。