我的确意味着身份平等.
例如,以下内容是否始终打印为真?
System.out.println("foo".getClass() == "fum".getClass());
Run Code Online (Sandbox Code Playgroud) 我有一个基类,Statement,这是其它几类从,继承命名IfStatement,WhereStatement等...什么是在执行测试的最佳方式if声明,以确定哪种类型的Statement一个实例从派生类?
我知道你应该equals()在一般情况下使用,但是有两种Class<?>物体可以平等equals()但不相同==吗?
编辑:我特意想知道是否存在两个类对象
Class<?> cl1 = ...
Class<?> cl2 = ...
cl1.equals(cl2) -> true
cl1 == cl2 -> false
Run Code Online (Sandbox Code Playgroud)
这似乎没有被可能的重复问题所涵盖.(这是密切相关的)
也可能不是真的,类对象是通过someObject.getClass()- 它可能是一个是Class.forName(...)一些反射行为的结果,而另一个是Method.getReturnType().