Pregunta

Quiero definir estas constantes y |Para diferentes operaciones para generar permisos correctos.

definirlos como:

public static final int READ = 4;
public static final int WRITE = 2;
public static final int EXECUTE = 1;

me da el resultado correcto como se espera, como leer |Escribe |Ejecutar o escribir |EJECUTAR.

que los define como

public static final int READ = 0x4;
public static final int WRITE = 0x2;
public static final int EXECUTE = 0x1;

¡Dame algún beneficio?

¿Fue útil?

Solución

Dado que son equivalentes en hexagonal o decimal, que solo agrega en términos de legibilidad para otros desarrolladores.Es funcionalmente el mismo.

Aunque, si lo está haciendo por la legibilidad, el octal sería incluso mejor dado el sistema subyacente:

public static final int READ = 04;
public static final int WRITE = 02;
public static final int EXECUTE = 01;

o incluso más obvio:

public static final int READ = 1<<2;
public static final int WRITE = 1<<1;
public static final int EXECUTE = 1;

pero eso podría ser excesivo :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top