2014-12-11 89 views
0

我正在尝试阅读网站URLS,删除HTML标记,标记它们,然后将它们放到POS标记中。 它可以完成上述所有步骤,但会在POS标记处断开。这个错误来自于课堂教学课程,有人认为我出错了?ClassCastException运行时错误

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.util.ArrayList 
at POSTaggers.POSTagging.run(POSTagging.java:28) 
at java.lang.Thread.run(Thread.java:744) 
at Assignment2.Main.main(Main.java:40) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) 
+0

我怀疑这是第28行 - '为(ArrayList的一:inputtokens)'? – 2014-12-11 03:15:09

+0

“_where我要错了吗?_” - >'POSTagging.java:28)'在该文件的第28行,您试图将String转换为ArrayList。 – csmckelvey 2014-12-11 03:15:15

+0

我想你有'for'循环的FUBAR。 – 2014-12-11 03:20:02

回答

0

错误是相当简单的,(你在行POSTagging.java 29铸造StringArrayList),但我不能看到发生。

我所看到的是,您不能将Object阵列投射到String阵列。你正在做的:

taggers[0] = new OpenNLP((String[]) a.toArray()); 

相反,使用:

taggers[0] = new OpenNLP(a.toArray(new String[a.size()]));