枚举类的简单说明

枚举是Java5才出现的。

Java5(新特性):
1、静态导入
2、可变参数
3、for-each和Iteractor
4、自动装箱和拆箱
5、泛型
6、枚举
7、注解


枚举:其实就是一种特殊的类,一般用于表示多种固定状态

public enum 类名{
	对象1,对象2;
}

其实枚举类在底层,继承java.lang.Enum类的。

枚举类特点:
1、枚举类很安全,不能被实例化对象,即使使用反射也不能创建对象;
2、可以使用name()和oridnal()方法用于返回枚举对象的实例名称和序数(从0开始);
3、所有的枚举类都有的方法:value()可以获取当前枚举类的所有实例;
4、所有的枚举类都有静态方法:valueOf可以把String类型的字符串,转换为枚举类型的对象;
5、枚举敞亮必须最先声明,并且常量之间是有逗号隔开,最后一个常量是有分号;
6、枚举类常量之后若使用{},则表示当前枚举类的匿名内部类;
7、使用switch操作枚举。


枚举类是不给实例化的:



switch(语句){}:switch支持的类:byte、short、char,int。没有long。(switch支持int类型)
因为Java5开始有自动拆箱:所以也支持Byte、Short、Character、Integer。
也支持枚举类型:枚举对象的oridnal()方法返回的就是int类型的序数。


先创建一个枚举类:

/**
 * Created by Layne_Yao on 2017-8-4 下午2:19:34.
 * CSDN:http://blog.csdn.net/Jsagacity
 */
public enum WeekDay {
	//枚举类常量之后若使用{},则表示当前枚举类的匿名内部类;
	MON(),TUE,WEN,THU,FRI,STA,SUN{};
}

然后新建一个EnumDemo:(注意编译级别一定要在java1.5以上)

/**
 * Created by Layne_Yao on 2017-8-4 下午2:20:56.
 * CSDN:http://blog.csdn.net/Jsagacity
 */
public class EnumDemo {

	public static void main(String[] args) {
		//可以使用name()和oridnal()方法用于返回枚举对象的实例名称和序数(从0开始);
		System.out.println(WeekDay.MON.name());
		System.out.println(WeekDay.SUN.ordinal());
		System.out.println("==========================");
		//所有的枚举类都有的方法:value()可以获取当前枚举类的所有实例;
		WeekDay[] days = WeekDay.values();
		for (WeekDay day : days) {
			System.out.println(day);
		}
		System.out.println("==========================");
		//所有的枚举类都有静态方法:valueOf可以把String类型的字符串,转换为枚举类型的对象;
		WeekDay day = WeekDay.valueOf("SUN");
		System.out.println(day);
		
		//使用switch操作枚举。
		switch(day){
		case MON:
			
			break;
		case TUE:
			
			break;
		case WEN:
			
			break;
		case THU:
			
			break;
		}
	}
}

运行结果:



在这里提一下Java7的新特性:(Java7个人感觉没有非常重要的改变,7,8,9着重一点)

Java7(过渡性):
1、二进制数字表达式;
2、使用下划线对数值进行分隔表达(编译器级别的特性)
3、switch语句支持String变量
就是hashCode方法
switch支持byte、short、char,int以及对应的包装类(自动拆箱)
枚举(oridnal方法)
String(hashCode方法)
4、Objects类,ThreadLocalRandom类
5、泛型的菱形语法
6、堆污染和@SafeVarargs
7、同时捕获多个异常处理
8、增强throw语句
9、try-witch-resources语句(自动关闭资源)
10、NIO2介绍(Files,Path,Paths)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值