我有一个这样的对象:
object PermissionMask {
val canLogin = 1
val canAbc = 2
val canDef = 4
val canGhi = 8
}
我有一个INT类型的属性,它将保存权限值。
如何检查是否已设置权限?
def canLogin: Boolean =
permissions & PermissionMask.canLog == ???
如何将它们组合在一起以设置所有权限?
permissions = PermissionMask.canLogin | PermissionMask.canAbc
答案 0 :(得分:2)
要检查canLogin
- 您要做的就是将结果与零进行比较 - 如果用户可以登录,结果将为正:
def canLogin: Boolean = (permissions & PermissionMask.canLogin) > 0
要创建“所有权限”值 - 嗯,是的,您已正确启动它:
val permissions = PermissionMask.canAbc |
PermissionMask.canAbc |
PermissionMask.canDef |
PermissionMask.canGhi