java 字符串与字符串数组匹配问题

我有各一个字符串a = "aaaa";还有一个字符串数组 b []={"bbbb","aaaa","cccc","dddd"},如何知道b数组中是否含有a字符串。
字符串a和字符串数组b为中文汉字,因为数组内容较多,最好不用遍历的方法。
最新回答
枫林渡口初相遇

2024-11-03 01:12:03

一个笨办法,写个for循环,分别取出数组b的元素,记为c,然后用equals比较a字符串是否与c相等。如果相等,就跳出循环,否则,就是不等。
String c="";
boolean flag=false;
for(int i=0;i<b.length;i++)
{
c=b[i];

if(a.equals(c))

{
flag=true;
break;

}
}
if(flag)
{
System.out.println("b数组中含有a字符串");
}
else
{
System.out.println("b数组中不含有a字符串");
}
追问
谢谢怪我没说清楚,由于数组里值较多,最好不用遍历的方法进行判断,有其他方法吗?
泪了

2024-11-03 05:19:58

java中判断数组是否包含某个元素:

http://zhaoningbo.iteye.com/blog/1285332
追问
我用了第一种API方法,不成功啊,数组设置一到十,字符串,任何一个文字,都返回true
追答
那第二种呢?

你再仔细试试!
追问
谢谢你,第二种也可以,只不过采纳的那个比你回答的要早一点,对不起了只能给他了。
姐与爱情水土不服

2024-11-03 04:25:32

for循环遍历 有就结束 返回个标志呗
String a = "aaa";
boolean flag = false;
for(String s : b){
if( a.equals( s){
flag = true;
break;

}
}
追问
谢谢怪我没说清楚,由于数组里值较多,最好不用遍历的方法进行判断,有其他方法吗?
追答
String str = Arrays.toString(  b );
Pattern rex = Pattern.compile( a );
Matcher m = rex.matcher(str);
boolean flag = m.find();

正则表达式怎么样