-2

我正在使用linkedhashset 来存储我的同义词列表。如果我的搜索词有同义词,就会做一些陈述。但是,当我的搜索词没有同义词时,会出现一些错误。下面是我的程序的一部分。

String[] synset = wordnet.getAllSynsets(keyword, "n");
Set<String> synsetVec = new LinkedHashSet<String>();
for (int k = 0; k < synset.length; k++) {
    //store synonym in synsetVec
    synsetVec.add(s.Stem(synset[k]));
    System.out.println("SynsetVec = " + synsetVec);

    if (!synsetVec.isEmpty()) {
        //do something here
    } else {
        GUIsynonymTA.append("No synsets");
    }
}

当搜索词没有同义词集时,会发生此错误“java.lang.NullPointerException”。谁能帮我?提前致谢。

4

1 回答 1

2

基于有限的信息,我假设 NPE 发生在你做 sunset.lenght 时的 for 循环线上。发布堆栈跟踪将使回答这个问题变得更加容易。

尝试:

String[] synset = wordnet.getAllSynsets(keyword, "n");
Set<String> synsetVec = new LinkedHashSet<String>();
if(sunset != null){
    for (int k = 0; k < synset.length; k++) {
        //store synonym in synsetVec
        synsetVec.add(s.Stem(synset[k]));
        System.out.println("SynsetVec = " + synsetVec);

        if (!synsetVec.isEmpty()) {
            //do something here
        } else {
            GUIsynonymTA.append("No synsets");
        } 
    }
}
于 2011-11-19T03:12:19.123 回答