gpt4 book ai didi

java - ClassObject.getClass,ClassName.class 和 Class.forName 的区别 ("ClassName")

转载 作者:行者123 更新时间:2023-11-29 05:55:28 26 4
gpt4 key购买 nike

我想了解 Class.forName("ClassName") 和 ClassObject.getClass返回类的运行时实例。那么为什么在比较从两次获取中获得的结果类对象时我们得到一个 boolean 值 false(如果我们使用 == 或等于进行比较)。
我还想知道在类名上调用的 .class 方法的确切用途是什么。我读过它是在编译时等确定的,但目的是什么。 Class.forName("ClassName") 还不够吗?
谢谢

最佳答案

Class.forName 加载并初始化类。 obj.getClass() 返回加载到 permgen 中的类对象。如果该类由同一个类加载器加载,== 必须返回 true。当您在 == 比较中看到 false 时,这意味着它们由不同的类加载器加载。

关于java - ClassObject.getClass,ClassName.class 和 Class.forName 的区别 ("ClassName"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12337439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com