equals问题

对象.getgetClass().equals(类),判断对象的类和比较的类是否是一个类 但有个问题Class并没有重写equals方法,那么就是比较地址,就相当于 对象.getgetClass()==类。这明显是不对的。。。。。。。。。。求解释

阅读 1.9k
1 个回答

Class 在 jvm 里面只有一个实例,只要你的Class是完全一样的肯定是相等的,但是不能判断是不是同一类型,同一类型使用判断推荐使用 instanceof
测试代码:

System.out.println(tc.getClass() == getClass());//true
System.out.println(tc.getClass() == TestClass.class);//true
System.out.println(tc.getClass().equals(getClass()));//true
System.out.println(tc.getClass().equals(TestClass.class));//true
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题