1.Reference(obj1,obj2)
这个方法判断的是这两个对象是否为同一个对象,相同返回True;
2.对于p1和p2都是对象的前提下,p1==p2
,这个也是判断这两个对象是否为同一个对象
3.对于字符串类型,Reference(string1,string2)
,判断的也是是否为指向同一个字符串对象!!
4.Object的Equals方法默认实现是比较两个对象是否为同一个对象,String这个类呢它是继承Object类的,它自己重写了Equals方法,它的Equals方法的比较仅仅是内容的比较,两个字符串字面相同就是True,所以当执行string1==string2
的时候实质上是调用String类的Equals方法,也就是仅仅进行内容的比较两个字符串字面相同就是True;
总结:Equals比较的永远是变量的内容是否相同,而= =比较的则是引用地址是否相同(前提:此种类型内部没有对Equals 或= = 进行重写操作,否则输出可能会有不同)