Java 枚举类型使用小技巧

Judith ·
更新时间:2024-11-10
· 799 次阅读

  近用到枚举,由于枚举变量比较多且存在一定的分组分类的关系,所以想能比较清晰的维护这些变量。今晚有空,简单研究了一下,分享出来,供大家讨论。

  可供考虑的分类方式

    /**      * 枚举接口      *       * @author lihzh(苦逼coder)      * @data 2012-2-21 下午8:51:39      */     public interface EnumInter {         public enum EnumB implements EnumInter{             B1, B2, B3;             public enum EnumSubB implements EnumInter{                 C1, C2, C3             }         }     }

  调用方式和一些其他测试:

    /**      * 测试练习枚举用法      *       * @author lihzh(苦逼coder)      * @data 2012-2-21 下午8:49:41      */     public class EnumMain {         /**          * @param args          * @author lihzh          * @data 2012-2-21 下午8:49:41          */         public static void main(String[] args) {             // 遍历枚举             for (EnumDemo e : EnumDemo.values()) {                 System.out.println("EnumDemo values: " + e.name());             }             // 枚举集合,简介             EnumMap<EnumDemo, String> enumMap = new EnumMap<EnumDemo, String>(                     EnumDemo.class);             enumMap.put(EnumDemo.A, "AAA");             // 定义函数             System.out.println(EnumDemo.A.getValue());             System.out.println(EnumDemo.E.getValue());             // 使用接口分组枚举             EnumInter eInter = EnumInter.EnumB.B2;             EnumInter eInterB = EnumInter.EnumB.EnumSubB.C1;             printValue(eInter);             printValue(eInterB);         }         private static void printValue(EnumInter eInter) {             System.out.println(eInter.toString());         }         public enum EnumDemo implements EnumInter {             A, B, C, D, E;             public String getValue() {                 return "Value is: " + this.name();             }         }     }

  主要是27,28行的调用方式。可体现出分组的效果。方法接口参数,统一接受接口类型即可。



JAVA 枚举 技巧 枚举类型 java 枚举类型

需要 登录 后方可回复, 如果你还没有账号请 注册新账号