日期:2014-05-17  浏览次数:20732 次

list java 求交集
我用list_department 取出一个文章对象的集合,用list_function 也取出一个文章对象的集合,但是当我用list_department .retainAll(list_function );
之后我再取出list_department 的时候,list_department 居然没数据。后来我查看了list.size(),结果确实size为0,但是list_department 与list_function 确实是有交集啊,为什么取完交集后,交集为空啊?求各位大侠指教。。 

关键代码如下:你们看应该怎么改?
list_function = (ArrayList<Article>) articleService.searchArticleByFunctionTop(listFunction);
 System.out.println("11111a" +list_function.size());
 list_department = (ArrayList<Article>) articleService.searchArticleByDepartmentTop(user);
 System.out.println("22222a" +list_department.size());
 list_function.retainAll(list_department);
 System.out.println("2.55555a" + list_function.size() );
 list = list_function; 


求得最后list,就是最终目标  
------解决方案--------------------
articleService.searchArticleByFunctionTop(listFunction);

articleService.searchArticleByDepartmentTop(user);


返回的都是什么类型,都强制转换成了ArrayList<Article>,
我猜这两个的值相同,但是对象不同。。。。。
建议重写equuals方法,进行对比。

------解决方案--------------------
你这是返回的两个对象list,值是相同的,但是对象不相同,重写equals