0

在我的代码中,我有一个包含一个对象和一个整数的嵌套类。这是为了标记子列表方法的开始和结束位置。

代码执行到对象和整数已建立值的程度。我已经在调试器中验证了这一点。

然后下一行调用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) 行:不可用

在我看来,它是触发异常的类加载器。

4

1 回答 1

2

如果您能澄清异常是什么会有所帮助,但是,我猜您正在为 E 获得 ClassNotFound。

看来您的教授还没有阐明泛型的概念。我建议查看什么是通用数据结构。我会给出的建议是寻找 E 未定义的原因以及您尝试创建它们的列表的原因。

我认为以下链接可能有助于阐明它们背后的语法和概念:http: //download.oracle.com/javase/tutorial/extra/generics/index.html

特别是以下部分:http: //download.oracle.com/javase/tutorial/extra/generics/simple.html

于 2010-10-21T20:42:18.290 回答