在Java中拆分后比较数组中的字符串

时间:2015-09-12 18:15:11

标签: java

我有一个字符串,我在其上使用拆分功能,以便将其拆分为不同的部分。 然后我想检查数组是否包含某个值,我尝试使用for循环,并将数组转换为List并使用contains选项,但我得到相同的结果 - 文本不在数组中。

P.S。 我编辑了代码以显示更好的示例。

String categories = "C1-C-D-A-1-В";
String[] cat = categories.split("-");
String catCode = "B";

//always return false
if (Arrays.asList(cat).contains(catCode))
{
//do somthing
}

for (int idxCat = 0; idxCat < cat.length; idxCat++) {
    //always return false
    if ((cat[idxCat]).equals(catCode))
    {
       //do somthing
       break;
     }
}

1 个答案:

答案 0 :(得分:1)

我快速演示了你的要求。

如果您试图查看数组中的任何字符串是否包含某个值:

public class HelloWorld
{
  public static void main(String[] args)
  {
    String[] strings = new String[] {"bob", "joe", "me"};

    for (int i = 0; i < strings.length; i++)
    {
      if (strings[i].contains("bob"))//doing "b" will also find "bob"
      {
        System.out.println("Found it!");
      }
    }
  }
}

控制台输出是:找到它!

我建议尝试使用注释中提到的equalsIgnoreCase()。您可能还想在数组中显示值:

import java.util.Arrays;

public class HelloWorld
{
  public static void main(String[] args)
  {
    String[] strings = new String[] {"bob", "joe", "me"};

    System.out.println(Arrays.toString(strings));

    for (int i = 0; i < strings.length; i++)
    {
      if (strings[i].contains("bob"))
      {
        System.out.println("Found it!");
      }
    }
  }
}

输出:

  

[鲍勃,乔,我]

     

发现它!

这可以帮助您确定数组中字符串中的值是否实际上是您认为的值。