jdk1.5——枚举(enum)

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 00:12   23   0

基本Demo:

/**
 * 2018年10月16日上午11:08:01
 */
package testenum;

import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;

/**
 * @author XWF
 *
 */
public class TestEnum {

 /**
  * @param args
  */
 public static void main(String[] args) {
  System.out.println(SIMPLE_ENUM.A.getDesc());
  System.out.println(SIMPLE_ENUM.getEnumByIndex(2));
  System.out.println(SIMPLE_ENUM.getEnumByIndex(3));
  System.out.println(SIMPLE_ENUM.getEnumByIndex(5).getDesc());
  SIMPLE_ENUM.getEnumByIndex(5).abstractFun();
 }

}
enum SIMPLE_ENUM{
 A("this is A",2) {
  @Override
  public void abstractFun() {
   System.out.println("a fun");
  }
 },
 B("that is B",5) {
  @Override
  public void abstractFun() {
   System.out.println("b fun");
  }
 };
 private int index;
 private String desc;
 private SIMPLE_ENUM(String s,int i){
  desc = s;
  index = i;
 }
 private static Map<Integer,SIMPLE_ENUM> m = new HashMap<>();
 static {
  for(SIMPLE_ENUM e:EnumSet.allOf(SIMPLE_ENUM.class)) {
   m.put(e.getIndex(), e);
  }
 }
 public int getIndex() {
  return index;
 }
 public String getDesc() {
  return desc;
 }
 public static SIMPLE_ENUM getEnumByIndex(int index) {
  return m.get(index);
 }
 public abstract void abstractFun();
}

结果:

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP