好的,例如我有这个代码:
class Document {
// blablabla
}
和我的主要:
Object cl =Class.forName("Document"); // throws ClassNotFoundException: Document
为什么它找不到我的类定义?
好的,例如我有这个代码:
class Document {
// blablabla
}
和我的主要:
Object cl =Class.forName("Document"); // throws ClassNotFoundException: Document
为什么它找不到我的类定义?
你应该用它的完全限定名称来引用你的类:
Object cl =Class.forName("org.yourpackage.Document");
我的猜测是该类实际上是在一个包中。Class.forName
将完全限定名称作为文档:
参数:
className - 所需类的完全限定名。
例如:
package foo.bar;
class Document {}
...
Class<?> clazz = Class.forName("foo.bar.Document");
如果它是一个嵌套类,你也需要考虑到这一点:
package foo.bar;
class Outer {
static class Document {
}
}
...
Class<?> clazz = Class.forName("foo.bar.Outer$Document");