0

我不知道我的代码发生了什么。这曾经有效:

MyClass obj = (MyClass) Class.forName(extendedType).getConstructors()[0].newInstance(scan);

但现在它没有加载。相反,它撞到这条线,停止,然后退出。我已经对其进行了调试,并且知道这一行的某处正在发生这种情况。任何建议将不胜感激。

注意:今天早些时候我重构了我的代码,从那以后它一直给我一些命名问题。主要是我将包名称从大写更改为小写(即 Myclass.class 到 myclass.class)。我不知道这是否影响了某些事情。

更新 扩展类型是一个字符串,提供我要加载的类的完整包和类名。因此,例如,com.biz.myclass 而不仅仅是 myclass。目的是根据用户选择加载父类的子类。还有其他方法可以做到这一点,但我想知道为什么这突然停止工作。它停在 Class.forName

4

1 回答 1

0

重构包在很多IDE中并不完美,尽量不要...

尝试检查系统中存在的实际文件夹名称。

如果文件夹名称与以前一样,那么您就有问题了。

如果原始包名称可以说:

我的包裹

然后你将它重构为:

我的包裹

那么您可能必须手动去相应地重命名您的文件夹结构。

尝试一下。

于 2013-03-08T11:06:35.860 回答