在我的代码中,我有一个包含一个对象和一个整数的嵌套类。这是为了标记子列表方法的开始和结束位置。
代码执行到对象和整数已建立值的程度。我已经在调试器中验证了这一点。
然后下一行调用ListLoc<E> startNode= new ListLoc<E>(start, startElement);
,这就是触发异常的原因。
该类已定义为
private class ListLoc<E>{
public Chunk<E> node;
public int index;
/* This object is created to hold a chunk and index location. Two
* objects will be created for the start and end locations for
* creating a sublist
*/
public ListLoc(Chunk<E> node, int index){
this.node= node;
this.index= index;
}
}
奇怪的是,在我用全局变量替换本地 startNode 之前,这部分代码执行得很好。这个想法没有成功,所以我把变量改回来了,这个异常突然出现了。
我没有对类路径或执行进行任何更改。唯一出现这种情况的是在调试器中
编辑:添加堆栈跟踪
ClassNotFoundException(Throwable).(String, Throwable) 行:217
ClassNotFoundException(Exception).(String, Throwable) 行:不可用 ClassNotFoundException.(String) 行:不可用
URLClassLoader$1.run() 行:不可用
AccessController.doPrivileged( PrivilegedExceptionAction, AccessControlContext) 行:不可用 [本机方法]
Launcher$ExtClassLoader(URLClassLoader).findClass(String) 行:不可用
Launcher$ExtClassLoader.findClass(String) 行:不可用
Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) 行:不可用 Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) 行:不可用 Launcher$AppClassLoader.loadClass(String, boolean) 行:不可用
Launcher$AppClassLoader(ClassLoader).loadClass(String) 行:不可用
在我看来,它是触发异常的类加载器。