我有 2 个列表标记和和弦。他们人口充足。但是当我尝试比较 2 时,尽管在循环中单独打印时打印相同的字符串内容,它们总是会产生错误值。有什么想法/解决方法吗?
System.out.println(token.get(i).toString().equals(chords.get(j).toString()));
两者都声明为 List 并初始化为 ArrayList();
两者都包含 String 对象。
while (i < tokenLength) {
System.out.println("");
int j = 0;
while (j < numberOfChords) {
System.out.println(token.get(i).toString() + " compares "
+ chords.get(j).toString());
System.out.println(token.get(i).toString()
.equals(chords.get(j).toString()));
if (token.get(i).toString() == chords.get(j).toString()
&& token.get(i).toString().length() <= maxLengthOfChord) {
foundChord.add(token.get(i));
}
j++;
}
i++;
}
给出以下输出:
我也试过这个
System.out.println(token.get(i).toString().equals(chords.get(j).toString()));
它总是产生一个错误,返回相同的结果,如屏幕截图所示