string.contains总是返回true

时间:2013-06-17 00:49:00

标签: string boolean contains

我创建了一个带有文本文件的程序,将这些行存储为数组中的字符串。现在我想“过滤”数组的那些条目。

我正在使用string.contains来查看每个数组条目是否具有子串“05 / Aug”。

由于某种原因,它总是返回true,实际上它不应该。

以下是文件:http://www.santarosa.edu/~lmeade/weblog.txt

这是我的代码:

for (int i=0; i<10;i++)
    {
        boolean check = storestrings[i].contains("05/Aug");
        if(check = true){
            teststring[i] = storestrings[i];
            //System.out.print(storestrings[i]);
        }
        else{
            teststring[i] = null;

            }

    }

1 个答案:

答案 0 :(得分:0)

您在if语句中使用赋值运算符而不是相等。它应该是这样的:

if(check == true){
    teststring[i] = storestrings[i];
    //System.out.print(storestrings[i]);
}

或只是

if (check) {
    teststring[i] = storestrings[i];
    //System.out.print(storestrings[i]);
}

在你的代码中,当它在if语句中达到check = true时,它将true赋给check变量并返回true,因此if条件总是计算为true。