Je souhaite stocker les permissions dans un ensemble de bits pour les comparer efficacement en Java. Un 1 signifierait l'autorisation accordée et 0 l'autorisation refusée. Si l'autorisation est effectuée, les autorisations requises seront comparées à l'ensemble d'autorisations.Comparer les ensembles de bits efficacement
Mon idée est d'utiliser ET et de comparer le résultat avec les autorisations demandées.
Exemple:
0010 1101 Granted Permissions
AND 0000 0101 Requested Permissions
= 0000 0101 Result
if (Result == Requested Permissions)
allow
else
deny
pourrait-il être fait plus efficace ou simple?
Je préférerais EnumSet, mais l'énumération correspondante devait être présente au moment de la compilation de ma bibliothèque. Mais l'utilisateur de la bibliothèque devrait être capable de définir ses propres autorisations. – deamon
Dans ce cas, vous pouvez toujours utiliser un BitSet. –