List<String> list
的值为[Standard .5“]
我在做
if (list.contains(".5\"")) { do something }
- 正在返回false - 不确定原因
答案 0 :(得分:2)
您必须检查列表中的项目而不是列表本身
for(String s : list) {
if (s.contains(".5\"")) { do something }
}
答案 1 :(得分:2)
List.contains()
方法进行.equals()
比较。由于字符串不是完全匹配,因此您需要遍历列表并检查字符串是否包含.5"
。
for(String s : list) {
if (s.contains(".5\""))
{
do something
break;
}
}
答案 2 :(得分:1)
这里有两种可能性。
要么检查列表中的特定元素,看看它是否包含&#34; .5&#34;&#34;:
list.get(idx).contains(".5\"");
或强>
您想要检查整个元素列表:
for(String str : list)
if(str.contains(".5\""));
//do whatever..
您调用的contains()
来自list
:
boolean contains(Object o)
如果此列表包含指定的元素,则返回true。
因此,如果您的一个String元素的内容只有true
,那么它只会是.5"
:
List<String> l = new ArrayList<String>();
l.add(".5\"");
System.out.println(l.contains(".5\"")); //returns true
以上将返回true
这不是您想要的,因为它会检查任何元素是否完全匹配.5"
,