比较两个arrayList中的单词<;字符串>;JAVA
我有两个字符串数组列表,我想数一数这两个数组中的单词 每个ArrayList都包含关键字,例如由以下几个单词组成的字符串: 奥特拉一号酒店 斯特拉达隆加 奥巴马总统 [……] 我尝试了这两种方法,但得到了NullPointerException比较两个arrayList中的单词<;字符串>;JAVA,java,string,arraylist,word,string-comparison,Java,String,Arraylist,Word,String Comparison,我有两个字符串数组列表,我想数一数这两个数组中的单词 每个ArrayList都包含关键字,例如由以下几个单词组成的字符串: 奥特拉一号酒店 斯特拉达隆加 奥巴马总统 [……] 我尝试了这两种方法,但得到了NullPointerException public boolean containsKeyword(String testKeyword, ArrayList<String> list) { return list.contains(testKeyword); } publ
public boolean containsKeyword(String testKeyword, ArrayList<String> list)
{ return list.contains(testKeyword);
}
public int compareKeywords(Quotidiano quotidiano){
int sameKeywords=0;
for(int i=0; i<this.Keywords.size(); i++){
if(this.containsKeyword(this.getKeyword(i), quotidiano.Keywords))
sameKeywords++;
}
return sameKeywords;
}
public boolean containsKeyword(String testKeyword,ArrayList列表)
{return list.contains(testKeyword);
}
公共整数比较关键字(quotidano quotidano){
int-sameKeywords=0;
对于(int i=0;i使用
PS:这会抛出java.lang.NullPointerException
-如果其中一个列表为空,则无论何时从未知源获取输入,都应检查是否为空。不应计算输入是否正常
public boolean containsKeyword(String testKeyword, ArrayList<String> list)
{
return (list != null) ? list.contains(testKeyword) : false;
}
public int compareKeywords(Quotidiano quotidiano){
if(quotidiano == null || this.Keywords == null) return 0;
int sameKeywords=0;
for(int i=0; i<this.Keywords.size(); i++){
if(this.containsKeyword(this.getKeyword(i), quotidiano.Keywords))
sameKeywords++;
}
return sameKeywords;
}
public boolean containsKeyword(String testKeyword,ArrayList列表)
{
return(list!=null)?list.contains(testKeyword):false;
}
公共整数比较关键字(quotidano quotidano){
如果(quotidiano==null | | this.Keywords==null)返回0;
int-sameKeywords=0;
对于(int i=0;iNullPointerException
在您使用任何对象的成员且该对象尚未初始化时发生。请确保两个列表都已初始化且不为空。并且您是否可以使用codeadd错误/异常处理发布完整的堆栈跟踪以避免运行时错误我猜OP希望检查所有单个工作“关键字短语”中的ds。它使用交叉点有效,谢谢!但是如果它比较单个单词会更好。例如,如果我有关键字短语“意大利的扩展”,“300以下的扩展”,我认为交叉点为空,而我希望使用“扩展”返回。我该怎么做?为此,您需要拆分各个关键短语。因此,“意大利蔓延”->{“蔓延”,“意大利蔓延”,“意大利蔓延”}和“300以下蔓延”->{“蔓延”,“意大利蔓延”,“300以下”}。然后,交叉点
将根据需要生成“蔓延”。
public boolean containsKeyword(String testKeyword, ArrayList<String> list)
{
return (list != null) ? list.contains(testKeyword) : false;
}
public int compareKeywords(Quotidiano quotidiano){
if(quotidiano == null || this.Keywords == null) return 0;
int sameKeywords=0;
for(int i=0; i<this.Keywords.size(); i++){
if(this.containsKeyword(this.getKeyword(i), quotidiano.Keywords))
sameKeywords++;
}
return sameKeywords;
}