Java | enum 枚举类

simple

我们以用户状态写一个枚举类

package com.fengwenyi.learn.java.javaenum;

/**
 * @author Wenyi Feng
 */
public enum UserStatus {
    // 登入
    LOGIN, 
    
    // 登出
    LOGOUT

}

测试类

@Test
public void simple() {
    UserStatus userStatus = UserStatus.LOGIN;
    System.out.format("枚举索引:%s", userStatus.ordinal());
    System.out.println();
    System.out.format("枚举名称:%s", userStatus.name());
    System.out.println();
}

效果

emum simple test

遍历

我们可以通过反射,或者通过提供的values()方法进行遍历。

测试代码:

/**
 * 遍历
 */
@Test
public void all() {
    System.out.println("方法一:");
    Class c = UserStatus.class;
    for (Object obj : c.getEnumConstants()) {
        System.out.println(obj);
    }
    System.out.println("-----------------");
    System.out.println("方法二:");
    for (UserStatus userStatus : UserStatus.values()) {
        System.out.println(userStatus);
    }
}

效果:

enum 遍历

使用

在写项目的时候,经常会用到枚举类。我们来写一个例子:

package com.fengwenyi.learn.java.javaenum;

/**
 * @author Wenyi Feng
 */
public enum ReturnCode {
    
    ERROR(200, "Error"),
    
    SUCCESS(100, "Success")
    ;
    
    private Integer code;
    private String msg;
    
    ReturnCode(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
    
    // getter
    
}

测试代码:

/**
 * use
 */
@Test
public void use() {
    ReturnCode returnCode = ReturnCode.SUCCESS;
    System.out.println("code: " + returnCode.getCode());
    System.out.println("msg: " + returnCode.getMsg());

}

效果

enum use

你可能感兴趣的:(Java | enum 枚举类)