1. /**
    2. * 排班工作状态
    3. */
    4. public enum WorkStatusEnum{
    5. //1加班、2离岗、3休假、4项目借调
    6. OVERTIME_SCHEDULE("00","加班"),
    7. ABSENCES_SCHEDULE("11","离岗"),
    8. VACATION_SCHEDULE("12","休假"),
    9. SECONDMENT_SCHEDULE("13","项目借调");
    10. WorkStatusEnum(String code,String message){
    11. this.code=code;
    12. this.message=message;
    13. }
    14. private String code;
    15. private String message;
    16. public String getMessage() {
    17. return message;
    18. }
    19. public String getCode() {
    20. return code;
    21. }
    22. //通过传入的 code 来获取 对应的 枚举类
    23. public static WorkStatusEnum codeOf(String code){
    24. for (WorkStatusEnum workStatusEnum:values()){
    25. if (workStatusEnum.getCode().equals(code)){
    26. return workStatusEnum;
    27. }
    28. }
    29. throw new RuntimeException("编码错误");
    30. }
    31. }

    workStatusEnum.getCode().equals(code)
    之前写的 getCode==code 不行
    为什么?
    因为== 是比较的 内存地址
    如果是 别的对象的值的话 他们的地址不一样 所有 如果是 == 的 就会报错