String contains 方法的使用

Java中contains包含的注意事项

String str="/login/index.do";
if(str.contains("/login")){
   System.out.println("true");
}else{
   System.out.println("false");
}

这段代码顾名思义会返回true,因为contains比较两个字符串时,只要局部相等就算成立

List<String> list=new ArrayList<String>();
list.add("/login/index.do");
list.add("/login/exit.do");
if(list.contains("/login")){
    System.out.println("true");
}else{
    System.out.println("false");
}
————————————————

这段代码会返回false,原因是:当用list去判断的时候,不是局部相等,而是list的其中一项要和字符串全部相等,也就是所谓的必须是两个字符串相等

解决办法

List<String> list=new ArrayList<String>();
list.add("/login/index.do");
list.add("/login/exit.do");
for (String str : list) {
   if(str.contains("/login")){
    System.out.println("true");
   }else{
    System.out.println("false");
   }
}
———————————————— 

可以直接用String.valueOf()方法转为字符串后再用contains方法比较,这样就省去遍历这一步骤了  

 

 

 

posted @ 2021-06-09 09:47  xie风细雨  阅读(1794)  评论(0)    收藏  举报