我有一个字符串,我在其上使用拆分功能,以便将其拆分为不同的部分。 然后我想检查数组是否包含某个值,我尝试使用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;
}
}
答案 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!");
}
}
}
}
输出:
[鲍勃,乔,我]
发现它!
这可以帮助您确定数组中字符串中的值是否实际上是您认为的值。