这个方法是用来取两个集合的交集,实验了一下这个方法,这个方法的返回值类型是boolean。但是发现一个问题,比如说以下代码:- ArrayList al1 = new ArrayList();
- ArrayList al2 = new ArrayList();
-
- al1.add("abc");
- al1.add("789");
- al1.add("ddd");
-
- System.out.println(al1.retainAll(al2));
- System.out.println(al1);
复制代码 在al2中添加的元素,如果和al1没有交集,也会返回true,然后原来的集合变为空,后来在al2中添加的是与al1元素不同类型的元素或者根本不添加元素,用这个方法始终返回true,原集合变为空,竟然从来不会返回false。
有没有大神给我个返回false的例子啊。
如果不能返回false,那还要返回值干嘛啊。 |