黑马程序员技术交流社区

标题: String类中Equals方法和Object类中的Equals方法有什么不同? [打印本页]

作者: 赵科铭    时间: 2014-3-9 23:59
标题: String类中Equals方法和Object类中的Equals方法有什么不同?
本帖最后由 赵科铭 于 2014-3-20 00:37 编辑

String类中Equals方法和Object类中的Equals方法有什么不同?
作者: Q.z.l    时间: 2014-3-10 03:15
string的Equals就是从Object那继承下来的,而Object的Equals是虚方法,在各个派生类中都进行了重写。
因为是虚方法,所以你像下面那样用Object来调用Equals的话。调用的还是string的Equals方法。
string str = "abcde";
object str1 = str;
str1.Equals("abcde");     //还是string的Equals方法
作者: 夢醒了⊙﹏⊙b心    时间: 2014-3-10 09:09
亲 这个道理很简单  就像你和你父亲的脸有什么不同一样  对吧
作者: 主角    时间: 2014-3-10 14:46
这位楼主不知道你问的是C#的呢还是Java的,在C#中很少再用到equals了几乎都是用==号进行比较的。Java中中所有的类都继承与object类而object类中的equals是比较两个对象的,string继承与object类同样也继承了equals方法并且重写了它。string的equals主要是比较两个字符串是否内容相同。
作者: Max_骏    时间: 2014-3-10 14:54
LZ,你是要问C#还是JAVA?貌似C#中不用equals,都是用“==”吧!在JAVA中Object类是所有Java类的父类,所有的Java类都要继承Object类,所以通常我们写程序的时候不显式声明继承Object类,而是默认继承Object类。String类继承Object类后,也继承了equals方法,但String类对equals方法进行了重写,改变了equals方法的比较形式。其实很多其他类继承Object类后也对equals方法进行了重写。
作者: 张变    时间: 2014-3-15 14:22
object类是所有类的基类,string类是从object继承来的,是它的子类,string的equals方法重写了基类的方法
作者: mdb    时间: 2014-3-16 13:47
string是重写了Object的equals方法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2