Java 在linkedhashset中使用isEmpty()时出错
我正在使用linkedhashset存储同义词列表。如果有同义词,我的搜索词,一些声明将完成。但是,当我的搜索词没有同义词时,会出现一些错误。下面是我节目的一部分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++) {
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");
}
}
}