代码运行时发生了如下错误
java.lang.NullPointerException
at model.toIndex.toIndex(toIndex.java:92)
at model.toIndex.test(toIndex.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
Process finished with exit code -1
错误代码行如下所示:
Document[] documents = new Document[line.length()];
for(int j = 0;j<line.length();j++){
documents[j] = new Document();
documents[j].setId(j+1);
documents[j].setContent(readFileToString("D:\\workspace\\topicIndex\\src\\main\\resources\\wiki_zh\\"+line));
toIndex index = new toIndex();
HashMap<RootObject, LeafList> rootMap= new HashMap<RootObject, LeafList>();
rootMap = index.toIndex(documents); //显示错误行
......
}
public HashMap<RootObject,LeafList> toIndex(Document[] documents) throws UnsupportedEncodingException {
RootObject rootObject = new RootObject();
for (int i = 0; i < documents.length; i++) {
String[] arrWords = new String[]{};
arrWords = Document.toTerms(documents[i].getContent()); //错误行
......
}
}
public static String[] toTerms(String content){
String[] toTerm = new String[]{};
//如果文档内容是中文
if(isChinese(content)){
//将文档内容转化为字符串数组
toTerm = content.split("");
ArrayList<String> list = Document.ChineseCharacterFilter(toTerm);
int size = list.size();
toTerm = (String[])list.toArray(new String[size]);
}else if(isEnglish(content)){
//如果是英文
toTerm = content.toLowerCase().split(" ");
}
return toTerm;
}
去网上查了一下解决方法,包括对接口对象要初始化等,但是都没有解决问题,debug也没有发现空指针,求助!
问题尽量描述详细点 错误的位置
你这啥都没有 问的是个棒槌
你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,(3)问题相关图片。便于技术专家团更好地理解问题,并给出解决方案。
您可以点击问题下方的【编辑】,进行补充修改问题。