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

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

第1个回答  2014-05-04
一个笨办法,写个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字符串");
}追问

谢谢怪我没说清楚,由于数组里值较多,最好不用遍历的方法进行判断,有其他方法吗?

第2个回答  2014-05-04
java中判断数组是否包含某个元素:

追问

我用了第一种API方法,不成功啊,数组设置一到十,字符串,任何一个文字,都返回true

追答

那第二种呢?

你再仔细试试!

追问

谢谢你,第二种也可以,只不过采纳的那个比你回答的要早一点,对不起了只能给他了。

第3个回答  2014-05-04
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();

正则表达式怎么样

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网