调试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

上一篇: Debugging a ClassNotFoundException

下一篇: Trouble creating cutom class loader