.equals() 或 == 比较对象的类时

Tim*_*eal 5 java conditional equals

在 Java 中,当您测试对象的类等于什么时,您会使用 .equals() 或 ==

例如在下面的代码中它会是:

if(object.getClass() == MyClass.class)
Run Code Online (Sandbox Code Playgroud)

或者

if(object.getClass().equals(MyClass.class))
Run Code Online (Sandbox Code Playgroud)

hot*_*zst 1

我个人倾向于使用==for 类,因为我认为它的性能稍高一些。但是您必须注意,只有当对对象的引用相同而不仅仅是内容相同时(如 with equals),这才返回 true。

例如,如果两个Class实例==由不同的类加载器加载,则比较两个实例将返回 false。

为了节省开支,您可能应该使用equals

  • == 与 Class 实例的 .equals 相同,因此使用 .equals 没有意义。 (3认同)