Skip to content

Latest commit

 

History

History
33 lines (29 loc) · 774 Bytes

31. 用属性替代枚举的序数.md

File metadata and controls

33 lines (29 loc) · 774 Bytes

传统情况

当我们表示 读 写 执行 三个操作时我们会使用

public class Example {
    public final static int Permission_R = 1 << 0;
    public final static int Permission_W = 1 << 1;
    public final static int Permission_X = 1 << 2;
    
    public static void main(String[] args) {
        // 可读性 可写 可执行
        System.out.println(Permission_R | Permission_W | Permission_X);
    }
}
  • 受限于 int 的大小
  • 不利于理解

解决方案

public class Example {
    
    enum Permission {
        R,
        W,
        X
    }
    
    public static void main(String[] args) {
        // 可读性 可写 可执行
        System.out.println(EnumSet.of(Permission.R, Permission.W, Permission.X));
    }
}