如何检查String是否包含值“.5”?

时间:2016-02-03 00:44:33

标签: java string

List<String> list的值为[Standard .5“]

我在做

if (list.contains(".5\"")) { do something } - 正在返回false - 不确定原因

3 个答案:

答案 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)

这里有两种可能性。

  1. 要么检查列表中的特定元素,看看它是否包含&#34; .5&#34;&#34;:

    list.get(idx).contains(".5\"");
    
    1. 您想要检查整个元素列表:

      for(String str : list)
          if(str.contains(".5\""));
              //do whatever..
      
    2. 您调用的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"