为什么即使我要具体导入确切的类,Class.forName也会引发ClassNotFoundException异常?

时间:2019-05-22 08:33:43

标签: java

我有以下代码:

df['samples_01'].str.count(',')+1

0    3
1    1
2    2
Name: samples_01, dtype: int64

每次尝试运行代码时,它总是抛出错误:

Class<?> classType = Class.forName(typeClassName);

但是我专门将EmailAddress类导入正在运行第一个代码的类中:

java.lang.ClassNotFoundException: EmailAddress

怎么可能?

1 个答案:

答案 0 :(得分:1)

如果您已经导入了类,则无需使用反射,您可以这样做

Class<EmailAddress> clazz = EmailAddress.class;

只有在编译程序时不知道类名的情况下,才真正需要使用Class.forName。如果仍要这样做,则需要使用完全限定的类名(导入无关紧要,它们仅在编译时才在运行时考虑)。

Class<?> clazz = Class.forName("ie.folder.EmailAddress");

如果找不到或加载该类,则必须处理该异常。