一张人员表(manager),一张角色表(role),两表多对多关系。
1.  Role as = this.getAllService().getRoleService().getById((long) 1);//得到id为1的角色as
2.  System.out.println(as.getId());
3.  if(manager.getRoles().contains(as)) System.out.println("dasfasf");//判断manager是否有角色as
4.  for(Iterator<Role> it = manager.getRoles().iterator(); it.hasNext();){ 
5.     Role bs = it.next();
6.     System.out.println(bs.getId());
7.     if(manager.getRoles().contains(bs)) System.out.println("2");            
8.  }
我的数据库角色表中只有一条id为1的记录,上面的语句执行过后发现第二行语句输出1,第三行无法输出(manager没有角色as),第六行输出1,第七行输出2(manager有角色bs)。as和bs都是id为1的角色,为什么第3行和第7行条件语句判断不同呢?