我正在尝试从 ArrayList 中获取特定字符串的 indexOf,但在进行检查时该字符串不匹配。我正在用下面的代码从哈希表中填充 StringList。
stringList = new ArrayList<String>
Set st = hashtable.keySet();
Iterator itr = st.iterator();
while(itr.hasNext())
{
stringList.add(((String)itr.next()).trim());
}
我想从stringList中获取的字符串是用户输入的,字符串一般是“!Xxxx ##:##:## xx”,如果这有什么不同的话。我知道字符串匹配,因为我通过打印出 stringList 来直观地测试它。所以我认为它类似于 == 和 .equals()。
我还通过使用哈希表中的特定字符串填充 stringList 并使用下面的代码进行了测试,它总是返回 false。
String keyString = "! Xxxx ##:##:## xx";
if(stringList.get(0).equals(keyString))
System.out.println("true");
System.out.println("false");
所以我想弄清楚如何让下面的代码工作
stringList.indexOf(keyString)
因为它只返回它应该返回的 -1,因为它没有看到字符串相等。我做错了什么阻止了我正在寻找的输出,这将是我认为它应该返回的正确索引,因为我正在输入 stringList 正在打印的内容。就像我之前说的,我认为这是 .equals() 的问题,但据我所知,indexOf 在查找索引以及查看我自己测试 .equals() 的结果时使用了 .equals()。