java - 如何测试一个字符是否不在字符串中? (java, junit)

标签 java string junit char

正如标题所说,我在通过检查字符是否不在字符串中以及如何检查空字符串是否没有字符的 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'));

关于java - 如何测试一个字符是否不在字符串中? (java, junit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2511439/

相关文章:

java - 使用 facebooklogin 插件的网站并将用户凭据存储到数据库 JAVA 或 Javascript 到我表单的文本框中

java - 在没有 apache 库的情况下根据空格将行分割成字符串

python - 如何在 Python 中正确比较来自 psycopg2 的 unicode 字符串?

java - 如何解决 "cannot find symbol"包中的 Timeout.seconds() 方法生成的 "org. junit.rules.Timeout"错误?

java - MRUnit 测试在使用 MULTIPLEOUTPUTS 写入 HDFS 时给出 NULLPOINTER 异常

java - 控制对 ".internal"包的访问的最佳实践

java - 找不到 ResourceServerTokenServices 的 Bean - Spring-Security-Oauth2

javascript - 将对象属性和值转换为字符串

java - pom配置继承-maven Surefire插件

Java单元测试用于不同的输入数据