调试ClassNotFoundException
在我的代码中,我有一个嵌套类,它包含一个对象和一个整数。 这是为了标记子列表方法的开始和结束位置。
代码执行到对象和整数已经建立值的点。 我已经在调试器中验证了这一点。
下一行然后调用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)行:不可用[本机方法]
启动器$ ExtClassLoader(URLClassLoader).findClass(字符串)行:不可用
启动器$ ExtClassLoader.findClass(String)行:不可用
Launcher $ ExtClassLoader(ClassLoader).loadClass(String,boolean)行:不可用启动器$ AppClassLoader(ClassLoader).loadClass(String,boolean)行:不可用启动器$ AppClassLoader.loadClass(字符串,布尔值)行:不可用
启动器$ AppClassLoader(ClassLoader).loadClass(String)行:不可用
从它看起来,它是触发异常的类加载器。
如果你能澄清什么是异常,这将有所帮助,但是,我猜你正在为E得到一个ClassNotFound。
看起来你的教授还没有澄清泛型的概念。 我会建议看看通用数据结构是什么。 我会给的建议是寻找E为什么没有定义,以及为什么你要创建它们的列表。
我认为以下链接可能有助于阐明其背后的语法和概念:http://download.oracle.com/javase/tutorial/extra/generics/index.html
特别是以下部分:http://download.oracle.com/javase/tutorial/extra/generics/simple.html
链接地址: http://www.djcxy.com/p/58269.html