我目前有一个包含三个字符串 ("car"
, "two dollar"
, "foo"
) 的 Set。然后我对传递的 HashMap<String, Double>
执行以下操作。
if (getSet().contains(currentHashMapItem.getKey()) == true) {
System.out.println(currentHashMapItem.getKey());
}
第一个关键词是
"car"
,与预期相符并显示。然而,第二个关键词是"dollar"
,但未显示。我对contains的理解是如果它比较的字符串存在于getSet()
返回的集合中,它将返回true,但是没有成功。甚至尝试使用ArrayList<String>
也没有好结果。有人以前遇到过这种情况吗?我是否试图走捷径,不得不使用正则表达式或迭代器循环?
==true
是多余的,在大多数情况下会有犯错的风险,例如while(variable = true)
,这里我们应该使用比较运算符==
而不是赋值运算符=
, 否则会导致无限循环。 - Pshemo