在我的代码中,我有一个包含对象和整数的嵌套类。这是为了标记子列表方法的开始和结束位置。
代码执行到对象和整数已建立值的程度。我在调试器中验证了这一点。
然后下一行调用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)line:not available
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)line:not available
Launcher $ AppClassLoader(ClassLoader).loadClass(String)行:不可用
从我看来,它是触发异常的classLoader。
答案 0 :(得分:2)
如果您能澄清异常是什么会有所帮助,但是,我猜你正在为E获得ClassNotFound。
看起来你的教授还没有澄清泛型的概念。我建议查看通用数据结构是什么。我给出的建议是寻找为什么没有定义E以及为什么要创建它们的列表。
我认为以下链接可能有助于澄清它们背后的语法和概念: http://download.oracle.com/javase/tutorial/extra/generics/index.html
特别是以下部分:http://download.oracle.com/javase/tutorial/extra/generics/simple.html