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方法比较,这样就省去遍历这一步骤了  

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM