判断引用类型相等

Posted riversouth

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断引用类型相等相关的知识,希望对你有一定的参考价值。

判断自定义类型

(1)判断两个引用是否指向堆中的同一个实例

public static bool ReferenceEquals(object a,object b)

{
  return a == b;
}

(2)判断两个引用指向的实例是否相等

public override bool Equals(object obj)
{
    if(obj == null)
    {
        return false;
    }
    if(this == obj)
    {
        return true;
    }
    if(this.GetType() != obj.GetType())
    {
        return false;
    }
    //比较该类的所有字段
    //调用基类的Equals()方法,比较基类的所有字段
}

(3)重载 == 运算符,调用重写的Equals()方法。

(4)重载 != 运算符,调用重写的Equals()方法。 

(5)实现IComparable接口的CompareTo()方法,然后通过调用CompareTo()重载 >  >=  <  <= 运算符。

以上是关于判断引用类型相等的主要内容,如果未能解决你的问题,请参考以下文章

js数组和对象相等判断拷贝详解(结合几个现象讲解引用数据类型的趣事)

判断java中两个对象是否相等

Java 中 equals 和 == 的区别

Java中怎么比较两个字符串是不是相等?

c#,判断2个dataTable是不是一样的问题。。

JAVA比较两个字符串是不是相等用啥