ios==和equals的区别

发布网友

我来回答

1个回答

热心网友

一、含义不同:

==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的是地址值。(比较地址值即是指是否为同一个对象的引用)

equals()是一个方法,只能比较引用数据类型。重写前比较的是地址值,重写后比一般是比较对象的属性。

二、引用不同:

值类型(int,char,long,bolean等)都是用=判断相等性。对象引用的话,=判断引用所指的对象是否是同一个。equals是Object的成员函数,有些类会覆盖(overide)这个方法,用于判断对象的等价性。

三、方法不同:

String里的方法,如果==号比较不相等,还会进行一下值的比较。所以equals方法具体的作用要看当前的那个类是如何实现重写父类中该方法的。如果没有重写该方法,那么他和==号等价。

扩展资料:

Eg:s1 = new String("sony"); //创建的是字符串对象

s1.equals("sony"); //返回true

s1 == "sony" //返回false

//如果

s1 = "sony";

s1 == "sony" //返回true

//如果

s1 = "sony";

s2 = "sony";

s1.equals(s2); 或者string.equals(s1,s2);//返回true

参考资料来源:百度百科-equals

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com