天天看点

Java中list集合ArrayList 中contains包含的使用

本示例使用List接口的实现类ArrayList,初始化一个列表对象list,并调用contains方法判断列表中是否包含"login"的字符串。

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

这段代码会返回false,因为用list去判断的时候,不是局部相等,而是list的其中一项要和字符串全部相等,也就是必须是两个字符串相等,解决办法有两个;

①把list集合循环遍历,用单个字符串去做比较;

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

②将ArrayList 转化为字符串,再进行比较:

使用:org.apache.commons.lang 的 类: StringUtils 进行处理:

String str=StringUtils.join(list.toArray(), ",") ;
if(str.contains("/login")){
System.out.println("true");
}else{
System.out.println("false");
}