java枚举使用

来源:互联网 发布:python web入门 编辑:程序博客网 时间:2024/06/06 01:12

在C++时代就有了枚举值这个类型,它是一种有序键值对的集合,使用枚举类型可以在语义化和结构化之间达成一种平衡。如果我们的代码中到处都是需要文档才能看懂的数字或字符(串)定义的话,那将是一种非常痛苦的事情。老陈最近在学习Java,在对项目重构的时候,就需要枚举类型来优化代码结构,给力的是,Java和.NET等语言(环境)一样都提供了对枚举类型的直接支持


package ObjectDemo;enum Dir{WEST(1),EAST(2),SOUTH(3),NORTH(4);private int value;private Dir(int value){this.value = value;}public int getValue(){return value;}public static Dir getDir(int num){for(Dir d : Dir.values()){if (d.getValue() == num) {return d;}}return null;}}public class EnumDemo {public static void main(String[] args) {//Dir d1 = Dir.EAST;//System.out.println(d1.getValue());Dir d1 = Dir.getDir(2);System.out.println(d1);}}
绑定常量时,.net实现非常简单

 enum Colors {     WEST = 1,     EAST = 2,     SOUTH = 3,
     NORTH = 4, }


enum Direc{EAST(1,"东方"),WEST(2,"西方"),SOUTH(3,"南方"),NORTH(4,"北方");private int value;private String name;private Direc(int value,String name){this.value = value;this.name = name;}public int getValue(){return value;}public String getName(){return name;}}


0 0