枚举类的简单说明

xiaoxiao2021-02-28  5

枚举是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. * :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. * :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)

转载请注明原文地址: https://www.6miu.com/read-1250208.html

最新回复(0)