Java中contains包含的注意事项

来源:互联网 发布:曼秀雷敦润唇啫喱知乎 编辑:程序博客网 时间:2024/05/29 02:18

最近在用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");   }}

把list集合循环遍历,以每一个字符串去做比较,还是利用了最初两个字符串局部的比较

第一次写博客还望大家指教。以后都会把自己犯过的错误记录下来,避免下次再犯,同时也希望能帮助大家

0 0
原创粉丝点击