Java检查大量字符串上的.equals

Chr*_*mos -5 java string list

我试图检查一个字符串是否存在于一个相对较大的(比如8000项)字符串列表中.

这就是我做的:

    for ( int i = 0; i < listOfStrings.size(); i++){
        String trim = listOfStrings.get(i).getString().trim();
        if (trim.equals(testString)){
            check = true;
            break;
        } else {
            check = false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是虽然我确定字符串在列表中但我得到了错误的回报.对于大型列表,这是一种错误的方法吗?

编辑:

很抱歉没有上下文的代码被剪切了.是的,打破; 不见了.

rge*_*man 7

你可能会得到一个匹配和设置checktrue,但你是不是终止循环.然后下一个循环不匹配并设置checkfalse.一旦找到了break声明,就终止循环.

  • @JorgeAntonioDíaz-Benito那不对."Hello World".trim()返回"Hello World".它只修剪前导和尾随空格,它不会删除内部空格. (2认同)