就像标题所说的那样,即时通讯遇到麻烦,我的junit测试通过以检查字符是否不在字符串中,以及如何检查空字符串是否没有字符。这是我有的方法:
public static boolean isThere(String s, char value){
for(int x = 0; x <= s.length(); x++){
if(s.charAt(x) == value){
return true;
} else if(s.length() == 0){
return false;
}
}
return false;
这是junit测试:
public void testIsThere() {
{
String sVal = "Jeff George";
boolean hasA = StringMethods.isThere(sVal,'e');
assertTrue(hasA);
boolean hasE = StringMethods.isThere(sVal, 'o');
assertTrue(hasE);
boolean notIn = StringMethods.isThere(sVal,'b');
assertTrue(notIn);
}
{
String sVal = "";
boolean nothingIn = StringMethods.isThere(sVal,'a');
assertFalse(nothingIn);
boolean notIn = StringMethods.isThere(sVal,'b');
assertFalse(notIn);
}
}
非常感谢,感激不尽
最佳答案
使用String.indexOf()
代替:
public static boolean contains(String s, char value){
return s != null && s.indexOf(value) > -1;
}
String sVal = "Jeff George";
assertTrue(contains(sVal, 'e'));
sVal = null;
assertFalse(contains(sVal, 'e'));