咱們以用戶狀態寫一個枚舉類java
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(); }
效果this
咱們能夠經過反射,或者經過提供的values()方法進行遍歷。code
測試代碼:orm
/** * 遍歷 */ @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); } }
效果:blog
在寫項目的時候,常常會用到枚舉類。咱們來寫一個例子:索引
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 }
測試代碼:get
/** * use */ @Test public void use() { ReturnCode returnCode = ReturnCode.SUCCESS; System.out.println("code: " + returnCode.getCode()); System.out.println("msg: " + returnCode.getMsg()); }
效果form