日期:2014-05-20  浏览次数:20877 次

如何判断一个字符串中包含另外一个字符串??
我是这样写的:
private boolean isContain (String sooner, String later) {
int soonerLenth = sooner.length();
char[] chars = null;
later.getChars(0, soonerLenth-1, chars, 0);
String chars2string = new String (chars);
if (sooner == chars2string) {
return true;
} else 
return false;
}
这样行吗??似乎在这里出错了。

------解决方案--------------------
indexOf
------解决方案--------------------
用 (sooner.indexOf(chars2string) >= 0) 判断
不要用 ==
------解决方案--------------------
public boolean contains(CharSequence s)

当且仅当此字符串包含 char 值的指定序列时,才返回 true。

参数:
s - 要搜索的序列 
返回:
如果此字符串包含 s,则返回 true,否则返回 false 
抛出:
NullPointerException - 如果 s 为 null
从以下版本开始:
1.5

public int indexOf(String str)

返回第一次出现的指定子字符串在此字符串中的索引。返回的整数是

this.startsWith(str, k)


为 true 的最小值 k。

参数:
str - 任意字符串。 
返回:
如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这样的子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1。


------解决方案--------------------
探讨
用 (sooner.indexOf(chars2string) >= 0) 判断
不要用 ==

------解决方案--------------------
方法很多啊,indexof,contains

楼主应该网上查一下,学会自己解决问题

祝楼主好运
------解决方案--------------------
public static void main(String[] agr) throws Exception
{
String a="1234junsdffseb145343";
String b="jun";

int index = a.indexOf(b);

if(index == -1 ){
System.out.println("a字符串不包含b字符串");
}else{
System.out.println("a字符串包含b字符串");
}
}