欢迎来到天天文库
浏览记录
ID:11088501
大小:29.00 KB
页数:5页
时间:2018-07-09
《java中enum的用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.关于JavaEnum:学过C/C++等语言的人,应该都对Enum类型略知一二。Enum一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用”==”来替换equals。是一种好的习惯。JDK1.5之前没有Enum这个类型,那时候一般用接口常量来替代。有了JavaEnum之后,可以更贴近的表示这种常量。2.如何使用JavaEnum简单的用法:JavaEnum简单的用法一般用于代表一组常用常量,可用来代表一类相同类型的常量值。如:
2、 性别:publicenumSexEnum{ male,female;}颜色:publicenumColor{ RED,BLUE,GREEN,BLACK;} 枚举对象里面的值都必须是唯一的。可以通过Enum类型名直接引用该常量,如SexEnum.male,Color.RED.复杂用法:Java为枚举类型提供了一些内置的方法,同事枚举常量还可以有自己的方法。可以很方便的遍历枚举对象,看个下面的例子: 1.代码一WeekDay.java: publicenumWeekDay{Mon("Monday"),Tu
3、e("Tuesday"),Wed("Wednesday"),Thu("Thursday"),Fri( "Friday"),Sat("Saturday"),Sun("Sunday"); privatefinalStringday; privateWeekDay(Stringday){ this.day=day;} publicstaticvoidprintDay(inti){ switch(i){ case1:System.out.println(WeekDay.Mon);
4、break; case2:System.out.println(WeekDay.Tue);break; case3:System.out.println(WeekDay.Wed);break; case4:System.out.println(WeekDay.Thu);break; case5:System.out.println(WeekDay.Fri);break; case6:System.out.println(WeekDay.Sat);break; case7
5、:System.out.println(WeekDay.Sun);break; default:System.out.println("wrongnumber!"); }} publicStringgetDay(){ returnday;}} 2. 代码二WeekDayTest.java: publicclassWeekDayTest{ publicstaticvoidmain(Stringargs[]){ for(WeekDayday:WeekDay.values()){
6、 System.out.println(day+"====>"+day.getDay()); } WeekDay.printDay(5); }} 输出结果为: Mon====>MondayTue====>TuesdayWed====>WednesdayThu====>ThursdayFri====>FridaySat====>SaturdaySun====>SundayFri3.JavaEnum原理JavaEnum类型的语法结构尽管和java类的语法不一样,应该说
7、差别比较大。但是经过编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际上是生成了一个类,该类继承了java.lang.Enum.WeekDay经过反编译(javapWeekDay命令)之后得到的内容如下(去掉了汇编代码):publicfinalclassWeekDayextendsjava.lang.Enum{ publicstaticfinalWeekDayMon; publicstaticfinalWeekDayTue; publicstaticfina
8、lWeekDayWed; publicstaticfinalWeekDayThu; publicstaticfinalWeekDayFri; publicstaticfinalWeekDaySat; publicstaticfinalWeekDaySun; static{}; publicstaticvoidprintDay(int); publicjava.lang.StringgetDay();
此文档下载收益归作者所有