Java 枚举类型使用小技巧

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

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

  可供考虑的分类方式

  1./**

  2. * 枚举接口

  3. *

  4. * @author lihzh(苦逼coder)

  5. * @data 2012-2-21 下午8:51:39

  6. */

  7.public interface EnumInter {

  8.9. public enum EnumB implements EnumInter{

  10. B1, B2, B3;

  11. public enum EnumSubB implements EnumInter{

  12. C1, C2, C3

  13. }

  14. }

  15.}

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

  1./**

  2. * 测试练习枚举用法

  3. *

  4. * @author lihzh(苦逼coder)

  5. * @data 2012-2-21 下午8:49:41

  6. */

  7.public class EnumMain {

  8.9. /**

  10. * @param args

  11. * @author lihzh

  12. * @data 2012-2-21 下午8:49:41

  13. */

  14. public static void main(String[] args) {

  15. // 遍历枚举

  16. for (EnumDemo e : EnumDemo.values()) {

  17. System.out.println(”EnumDemo values: ” + e.name());

  18. }

  19. // 枚举集合,简介

  20. EnumMap<EnumDemo, String> enumMap = new EnumMap<EnumDemo, String>(

  21. EnumDemo.class);

  22. enumMap.put(EnumDemo.A, “AAA”);

  23. // 定义函数

  24. System.out.println(EnumDemo.A.getValue());

  25. System.out.println(EnumDemo.E.getValue());

  26. // 使用接口分组枚举

  27. EnumInter eInter = EnumInter.EnumB.B2;

  28. EnumInter eInterB = EnumInter.EnumB.EnumSubB.C1;

  29. printValue(eInter);

  30. printValue(eInterB);

  31. }

  32.33. private static void printValue(EnumInter eInter) {

  34. System.out.println(eInter.toString());

  35. }

  36.37. public enum EnumDemo implements EnumInter {

  38. A, B, C, D, E;

  39. public String getValue() {

  40. return “Value is: ” + this.name();

  41. }

  42. }

  43.44.}

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

记忆像是倒在手心里的水,不论是摊平还是握紧,

Java 枚举类型使用小技巧

相关文章:

你感兴趣的文章:

标签云: