Java 在linkedhashset中使用isEmpty()时出错

Java 在linkedhashset中使用isEmpty()时出错,java,linkedhashset,Java,Linkedhashset,我正在使用linkedhashset存储同义词列表。如果有同义词,我的搜索词,一些声明将完成。但是,当我的搜索词没有同义词时,会出现一些错误。下面是我节目的一部分 String[] synset = wordnet.getAllSynsets(keyword, "n"); Set<String> synsetVec = new LinkedHashSet<String>(); for (int k = 0; k < synset.length; k++) {

我正在使用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");
    }
}
String[]synset=wordnet.getAllSynset(关键字,“n”);
Set synsetVec=new LinkedHashSet();
for(int k=0;k

当搜索词没有语法集时,会出现“java.lang.NullPointerException”错误。有人能帮我吗?提前感谢。

基于有限的信息,我假设在执行sunset.lenght时,NPE发生在for循环线上。发布堆栈跟踪将使回答此问题变得非常容易

尝试:

String[]synset=wordnet.getAllSynset(关键字,“n”);
Set synsetVec=new LinkedHashSet();
如果(日落!=null){
for(int k=0;k
什么是GUIsynonymTA?它在哪里初始化?在代码中的哪一行获得空指针?(相关stacktrace plz)您应该使用调试器:在示例的第一行设置断点,并在调试模式下执行程序。调试器将在执行带有断点的行之前暂停代码。然后,您可以一次执行一个staments(步骤执行),并检查变量以查看代码在何时何地中断。@Kal:GUIsynonymTA是显示结果的文本区域。它已初始化。这只是我编程的一部分。如果你解决了它,那就很乐意接受答案。
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");
        } 
    }
}