java如何判断类是否相同呢?
下文笔者讲述使用Java代码判断类是否相同的方法分享,如下所示:
实现思路:
1.从类的全限定名称
2.从类的加载器
必须当类的名称和类加载器都相同时,我们才认为类相同
例:
public class TestClass {
public static void main(String[] args)
{
try {
Class testTypeForName=Class.forName("TestClassType");
System.out.println("testForName---"+testTypeForName);
//测试类加载器
System.out.println("forName形式的加载器--"+testTypeForName.getClassLoader());
//测试类名.class
Class testTypeClass=TestClassType.class;
System.out.println("testTypeClass---"+testTypeClass);
//测试类加载器
System.out.println(".class形式的加载器---"+testTypeClass.getClassLoader());
//测试Object.getClass()
TestClassType testGetClass= new TestClassType();
System.out.println("testGetClass---"+testGetClass.getClass());
//测试类加载器
System.out.println("getClass形式的加载器--"+testGetClass.getClass().getClassLoader());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
class TestClassType{
//构造函数
public TestClassType(){
System.out.println("----构造函数---");
}
//静态的参数初始化
static{
System.out.println("---静态的参数初始化---");
}
//非静态的参数初始化
{
System.out.println("----非静态的参数初始化---");
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


