继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Java | enum 枚举类

冯文议
关注TA
已关注
手记 82
粉丝 1.4万
获赞 707
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

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP