我想定义这些常量和|它们针对不同的操作生成正确的权限。

将它们定义为:

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


给我正确的结果,如READ |写|执行或写入|执行。

是否将它们定义为

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


给我任何好处?

最佳答案

由于它们在十六进制或十进制中是等效的,因此仅增加了其他开发人员的可读性。功能上是相同的。

虽然,如果您这样做是为了提高可读性,考虑到基础系统,八进制甚至会更好:

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


或更明显的是:

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


但这可能是过分的:)

10-07 19:11
查看更多