两个Java字符串表示它们不相等

Rya*_*rgh 0 java string arraylist

我有两个arraylists,一个包含字符串,另一个包含具有String数据成员的类.目标是通过第二个arraylist中的对象进行递归,并找到哪个对象的字符串数据成员等于第一个arraylist中的字符串值.

现在我明白你不能使用==运算符来比较字符串,所以我最初使用了equals方法,现在我已经尝试了contentEquals方法,但无论我选择哪种方法,字符串总是被归类为相等 - 即使他们不是.因此,每当我运行下面的代码时,无论字符串是否实际相等,"if"语句在第一次调用时总是返回true.

Iterator stringListIter = stringList.iterator();
Iterator objectListIter = objectList.iterator();
while (stringListIter.hasNext())
{
    String currentString = (String) stringListIter.next();
    while (objectListIter.hasNext())
    {
        MyObject currentObject = (MyObject) objectListIter.next();
        String objectString = currentObject.getString();
        if (objectString.contentEquals(currentString));
        {
            //Do something here.....
            break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.我觉得它可能是相当简单的东西,但我只是看不到它.

Cam*_*ner 10

问题是你有一个无关的分号:

if (objectString.contentEquals(currentString));
Run Code Online (Sandbox Code Playgroud)

此语句基本上不执行任何操作,因此始终执行以下块.