关闭

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

标签: 枚举enum
762人阅读 评论(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网站的观点或立场

java.lang.Enum定义理解

java.lang.Enum的定义是: public abstract class Enum> extends Object implements Comparable, Serializable 其它先不说,主要谈谈对“Enum>”的理解。 首先,这是一个泛型,使用E作为...
  • oneinmore
  • oneinmore
  • 2015-05-19 12:10
  • 1376

Java中继承java.lang.Enum

Java 5新增的enum关键词,可以定义枚举类。该类是一个特殊的类,可以定义自己的field、方法、可以实现接口,也可以定义自己的构造器。但枚举类使用enum定义后在编译后默认继承了java.lang.Enum类,而不是普通的继承Object类。enum声明类继承了Serializable和Com...
  • u010430304
  • u010430304
  • 2017-01-15 11:43
  • 1179

java.lang.Enum枚举类型

前言     上一篇文章介绍的是常用类中的String,这一篇总结一下有关枚举类都有哪些有意思的知识枚举类型 enum的全称为enumeration,是JDK1.5才引入的特性,存放在java.lang包中。 使用情况  当一个类型他是有一些可并列的,不变化的元素组成时,这些元素就像是导游,指...
  • cd18333612683
  • cd18333612683
  • 2016-12-28 11:31
  • 422

Java基础复习:枚举(java.lang.Enum<E>)

(1)定义枚举类 public enum Gender { /* * Java 5开始出现了枚举 * 枚举元素必须位于枚举类中的开始部分 * 枚举的每一个元素都相当于一个常量 public static final */ WOMAN("女"),MAN...
  • tao_sun
  • tao_sun
  • 2013-05-14 09:56
  • 494
    个人资料
    • 访问:148072次
    • 积分:3400
    • 等级:
    • 排名:第11346名
    • 原创:210篇
    • 转载:1篇
    • 译文:0篇
    • 评论:3条
    最新评论