Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较两个arrayList中的单词<;字符串>;JAVA_Java_String_Arraylist_Word_String Comparison - Fatal编程技术网

比较两个arrayList中的单词<;字符串>;JAVA

比较两个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

我有两个字符串数组列表,我想数一数这两个数组中的单词

每个ArrayList都包含关键字,例如由以下几个单词组成的字符串:

奥特拉一号酒店

斯特拉达隆加

奥巴马总统

[……]

我尝试了这两种方法,但得到了NullPointerException

 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;i
NullPointerException
在您使用任何对象的成员且该对象尚未初始化时发生。请确保两个列表都已初始化且不为空。

并且您是否可以使用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;
}