【发布时间】:2011-11-23 07:56:45
【问题描述】:
我有两个数组列表,一个包含字符串,另一个包含具有字符串数据成员的类。目标是递归遍历第二个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;
}
}
}
任何帮助将不胜感激。我感觉它可能是相当简单的东西,但我就是看不到它。
【问题讨论】:
-
如果您能显示
StringList和ObjectList的内容会很有帮助。你能举一个两个字符串的例子吗? -
MyObject 的任何描述,特别是 MyObject.contentEquals ??
-
我不知道类
contentEquals的方法String。你有自己的String课程吗? -
@Kennet:contentEquals 在
java.lang.String类上。它需要一个CharSequence或StringBuffer参数。 -
@Cameron Skinner 感谢您提供信息,从未使用过...