我想了解Class.forName(“ ClassName”)和ClassObject.getClass是否都返回该类的运行时实例。然后为什么在比较从这两个对象获得的结果Class对象时获取一个布尔值false(如果我们使用==或equals进行比较)。 我也想知道在类名上调用.class方法的确切用途。我读到它是在编译时等确定的,但目的是什么。Class.forName(“ ClassName”)是否足够? 谢谢
Class.forName加载并初始化类。obj.getClass()返回加载到permgen中的类对象。如果该类由同一类加载器加载,==则必须返回true。当您看到false==比较时,意味着它们由不同的类加载器加载。
Class.forName
obj.getClass()
==
false