我有一个像这样定义的构造函数。现在我想过滤掉下面评论中提到的一些记录(在代码中),请告知如何实现这一点。
public class A
{
private HashSet<Integer> readPermissionGroup = new HashSet<Integer>();
//constructor
A
{
this.readPermissionGroup.add(10);
this.readPermissionGroup.add(11);
this.readPermissionGroup.add(15);
this.readPermissionGroup.add(16);
}
// ...
}
现在下面是另一段代码正在进行一些操作,如下所示
Set<Group> groups = user.getGroups();
for (Group group : groups) {
//?? now here I want to filter out the records where g.id not in (10,11,15,15)
//?? right now it is doing the opposite
if (readPermissionGroup.contains(group.getId())) // i want to filter those record whose
// value is not
// 10,11,15,16
{
hasAccess = true;
break;
}
}
return hasAccess;
答案 0 :(得分:2)
在你的情况面前使用not !
或恢复你的布尔值:
if (!readPermissionGroup.contains(group.getId()))