Java,从字符串中获取类的包名称

Java,从字符串中获取类的包名称,java,Java,我所拥有的一切: String desiredClass = "MyClass"; 我想实例化这个类,但这个名称来自这个字符串。我知道这可以通过以下方式实现: Class.forName(desiredClass); 公式,但这也需要此字符串中的包路径(name.space.path.MyClass)。我知道它可以通过.getPackage()查询-但是,它需要直接的类引用,而不是字符串引用。看起来有条蛇咬了它的尾巴:)在初始化对象之前,您需要知道包名。 如果没有它,您将无法从两个单独的包中

我所拥有的一切:

String desiredClass = "MyClass";
我想实例化这个类,但这个名称来自这个字符串。我知道这可以通过以下方式实现:

Class.forName(desiredClass);

公式,但这也需要此字符串中的包路径(name.space.path.MyClass)。我知道它可以通过
.getPackage()
查询-但是,它需要直接的类引用,而不是字符串引用。看起来有条蛇咬了它的尾巴:)

在初始化对象之前,您需要知道包名。 如果没有它,您将无法从两个单独的包中区分两个具有相同名称的类

如果您有两个类
test1.MyClass
test2.MyClass
,那么应该在代码中选择哪一个:

String desiredClass = "MyClass";
Class.forName(desiredClass);
因此,您需要提前知道软件包名称,并执行以下操作:

String desiredClass = "test1.myClass";

这是不可能的,因为你在任何地方都没有信息。如果我要你给我“杰罗恩”的简介,我不能期望你给我“杰罗恩·凡内维尔”,因为世界上有很多杰罗恩。您将需要更具体的信息。如何获取
desiredClass
值?@sp00m its在XML设置中。您可以使用中列出的技术获取类列表,以便搜索您的类。但是您需要为多个匹配结果做好准备。您不能在XML设置中也添加包吗?