黑马程序员技术交流社区
标题:
关于retainAll()返回值的看法
[打印本页]
作者:
12300123
时间:
2015-4-12 11:28
标题:
关于retainAll()返回值的看法
import java.util.*;
class CollectionDemo
{
public static void main(String[] args)
{
Collection c1=new ArrayList();
c1.add("abc1");
c1.add("abc2");
c1.add("abc3");
c1.add("abc4");
Collection c2=new ArrayList();
//c2.add("abc1");
c2.add("abc2");
c2.add("abc3");
c2.add("abc4");
c2.add("abc5");
c2.add("abc6");
c2.add("abc7");
c2.add("abc8");
c1.retainAll(c2);
System.out.println( c1);
System.out.println( c1.retainAll(c2));
}
}
复制代码
如上所示,是我今天上午写的一段代码,用于测试retainAll()方法的返回值,编译结果显示,无论c1的元素有没有发生变化,返回值都是false,这不对啊。没有变化返回值是false,变化了的话返回值应该是true才对。我用的jre1.7,不会是bug吧。谁来测试看看有没有同样的问题,真奇怪!
作者:
xlunaer
时间:
2015-4-12 11:39
public static void main(String[] args) {
Collection<String> c1 = new ArrayList<String>();
c1.add("abc1");
c1.add("abc2");
c1.add("abc3");
c1.add("abc4");
Collection<String> c2 = new ArrayList<String>();
// c2.add("abc1");
c2.add("abc2");
c2.add("abc3");
c2.add("abc4");
c2.add("abc5");
c2.add("abc6");
c2.add("abc7");
c2.add("abc8");
c1.retainAll(c2); // 这里已经踢出了c2与c1相同的元素,所以下一次c1就不会变化了,
// 你把这行代码注释看看结果是不是true
System.out.println(c1);
System.out.println(c1.retainAll(c2));
}
复制代码
作者:
12300123
时间:
2015-4-12 19:30
xlunaer 发表于 2015-4-12 11:39
:(,是的,测试过代码后那行忘记删掉了,:L
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2