Java中的构造函数equals()方法和示例
构造函数类提供有关类的单个构造函数的信息,它还提供对该构造函数的访问。
Java.lang.reflect.Constructor的equals()方法用于将此 Constructor 与传递的对象进行比较。如果对象相同,则该方法返回 true。在Java中,两个 Constructor 对象是相同的当且仅当它们由同一个类声明并且具有相同的形参类型。
句法:
public boolean equals(Object obj)
参数:此方法接受obj ,它是要与之比较的参考对象。
Return :如果此对象与 obj 参数相同,则此方法返回true 。否则返回false。
下面的程序说明了 equals() 方法:
方案一:
// Java program to illustrate equals() method
import java.lang.reflect.Constructor;
public class GFG {
public static void main(String[] args)
{
// create a class object
Class classObj = String.class;
// get Constructor object array from class object
Constructor[] cons = classObj.getConstructors();
// apply equals method
System.out.println("Constructor 1: " + cons[0]);
System.out.println("Constructor 2: " + cons[1]);
boolean result = cons[0].equals(cons[1]);
// print result
System.out.println("Both constructor are equal: "
+ result);
}
}
输出:
Constructor 1: public java.lang.String(byte[], int, int)
Constructor 2: public java.lang.String(byte[], java.nio.charset.Charset)
Both constructor are equal: false
方案二:
// Java program to illustrate equals() method
import java.lang.reflect.Constructor;
import java.util.ArrayList;
public class GFG {
public static void main(String[] args)
{
// create a class object
Class classObj = ArrayList.class;
// get Constructor object array from class object
Constructor[] cons = classObj.getConstructors();
// apply equals method
System.out.println("Constructor 1: " + cons[0]);
Object obj = cons[0];
System.out.println("Object: " + obj);
boolean result = cons[0].equals(obj);
// print result
System.out.println("Both constructor are equal: "
+ result);
}
}
输出:
Constructor 1: public java.util.ArrayList(java.util.Collection)
Object: public java.util.ArrayList(java.util.Collection)
Both constructor are equal: true
参考资料: https: Java Java.lang.Object)