码迷,mamicode.com
首页 > 编程语言 > 详细

4.JAVA语言基础部分—枚举与反射

时间:2018-10-21 01:02:05      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:使用   基础   string   esc   class   return   compare   links   index   

枚举

//定义枚举
	enum MyEnum{
		ITEM_A,
		ITEM_B
	}
	public static void main(String[] args) {
		//values()获取所枚举项的集合
		MyEnum[] enums=MyEnum.values();
		for (MyEnum myEnum : enums) {
			print(myEnum.toString());//输出ITEM_A ITEM_B
		}
		
		//valueOf("字符串")把字符串转为枚举
		MyEnum myEnum=MyEnum.valueOf("ITEM_B");
		print(myEnum.toString());//结果 ITEM_B
		
		//compareTo(b)比较两者在定义时的顺序,若b后于比较者返回-1,小于比较者时返回1,相同时为0
		int i=MyEnum.ITEM_A.compareTo(MyEnum.ITEM_B);
		System.out.println(i);//结果 1
		 
		//ordinal()得到索引位置,从0开始
		int index=MyEnum.ITEM_B.ordinal();
		System.out.println(index);//结果 1
	}

枚举也有构造方法,但必须使用private,常用于给枚举项加标签说明功能

// 定义枚举
	enum MyEnum {
		ITEM_A("我是A啊"), ITEM_B("我是B呢"), ITEM_C(23); // 最后一项要写;

		private String description;
		private int num;

		// 构造方法须用private
		private MyEnum(String descn) {
			description = descn;
		}

		private MyEnum(int i) {
			num = i;
		}

		// 对外提供获取描述信息
		public String getDesn() {
			return description;
		}

		public int getI() {
			return num;
		}
	}

	public static void main(String[] args) {
		// values()获取所枚举项的集合
		MyEnum[] enums = MyEnum.values();
		for (MyEnum myEnum : enums) {
			print(myEnum.getDesn());// 我是A啊 我是B呢 null
		}
		System.out.print(MyEnum.ITEM_C.getI());// 23
	}

枚举

枚举

枚举

枚举

4.JAVA语言基础部分—枚举与反射

标签:使用   基础   string   esc   class   return   compare   links   index   

原文地址:https://www.cnblogs.com/evemen/p/9823429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!