1

我已经考虑过如何获取表示类名的 java.lang.String 并确定完全限定名,然后使用 Java.lang.Class.forName(FullyQualifiedName) 将字符串转换为类。

这让我感到困惑,因为我不能将 Java.lang.Class.forName() 与表示类名(如“Address”)的 Java.lang.String 一起使用,因为我需要完全限定的名称,否则我会得到一个 Exception.ClassNotFoundException循环我回到需要知道完全限定的名称,但是当我不能使用 Java.lang.Class.forName() 时如何。

我只是坚持我目前的知识。我已经使用 Google 进行了搜索,甚至创建了这个问题,但我敢打赌这已经被问到了。有人请指出我正确的方向吗?

注意:这个问题应该被删除,因为它似乎不可能做 OP 在 Java 中请求的内容。

4

1 回答 1

6

类的完全限定名是以包名为前缀的类名。例如,如果 classAddress在包com.mycompany.myproject中,则 class 的完全限定名称Addresscom.mycompany.myproject.Address.

Java 只能通过它们的完全限定名称来查找类(除非该类在默认包中 - 但类的简单名称也是完全限定名称)。

您需要知道您的类在哪个包中,否则无法使用Class.forName(...).

于 2015-05-21T21:46:08.060 回答