加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 01:59:39 所属栏目:Java 来源:网络整理
导读:正如标题所说,即时通讯我的junit测试有问题,检查字符是否不在字符串中以及如何检查空字符串是否没有字符.这是我的方法: public static boolean isThere(String s,char value){ for(int x = 0; x = s.length(); x++){ if(s.charAt(x) == value){ return true
正如标题所说,即时通讯我的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'));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读