关闭

[置顶] java.lang.Enum 枚举类型

标签: 枚举enum
669人阅读 评论(0) 收藏 举报
分类:
枚举的使用:
	since 1.5
	
	case1:定义常量
	
		public enum Color {
			RED, YELLOW, GREEN, BLUE;
		}
		
		说明:枚举的实例序列是用【逗号】隔开的;如果没有定义属性和方法,则实例序列最后的分号可以省略。
		
		
	case2:switch语句
		
		public enum Color {
			RED, YELLOW, GREEN, BLUE;
		}
		
		public class EnumSwitch {
			
			Color color = Color.RED;
			
			public void testEnumSwitch() {
				switch (color) {
				case RED:
					System.out.println("红色");
					break;
				case YELLOW:
					System.out.println("黄色");
					break;
				case GREEN:
					System.out.println("绿色");
					break;
				default:
					System.out.println("蓝色");
					break;
				}
			}
		}
		
		
		
	case3:在枚举中定义变量和方法(注:每个枚举实例都有这些变量和方法)
	
		public enum Color {
			
			RED("红色", 1), YELLOW("黄色"), GREEN, BLUE;
			
			private String name;
			private Integer index;
			
			private Color() {
				
			}
			
			private Color(String name) {
				this.name = name;
			}
			
			private Color(String name, Integer index) {
				this.name = name;
				this.index = index;
			}
			
			public static String getName(Integer index) {
				for (Color c : Color.values()) { // 遍历枚举的所有实例;Color.values()可以简写成values()
					System.out.println(c);
					System.out.println(" ---> " + c.getName());
					System.out.println(" ---> " + c.getIndex());
					if (index == c.getIndex()) {
						return c.name;
					}
				}
				return null;
			}
			
			public String getName() { return name; }

			public void setName(String name) { this.name = name; }

			public Integer getIndex() { return index; }

			public void setIndex(Integer index) { this.index = index; }
			
		}
	
		测试:
			public class EnumMethod {	
				public static void main(String[] args) {
					String name = Color.getName(2);
					System.out.println("main获取Color的name:" + name);
				}
			}
		结果:
			RED
			 ---> 红色
			 ---> 1
			YELLOW
			 ---> 黄色
			 ---> null
			GREEN
			 ---> null
			 ---> null
			BLUE
			 ---> null
			 ---> null
			main获取Color的name:null

		
		
		
		
		


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:103789次
    • 积分:2812
    • 等级:
    • 排名:第13272名
    • 原创:181篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    最新评论