Java枚举数据类型.docx

上传人:王** 文档编号:1394230 上传时间:2024-07-05 格式:DOCX 页数:10 大小:21.23KB
下载 相关 举报
Java枚举数据类型.docx_第1页
第1页 / 共10页
Java枚举数据类型.docx_第2页
第2页 / 共10页
Java枚举数据类型.docx_第3页
第3页 / 共10页
Java枚举数据类型.docx_第4页
第4页 / 共10页
Java枚举数据类型.docx_第5页
第5页 / 共10页
Java枚举数据类型.docx_第6页
第6页 / 共10页
Java枚举数据类型.docx_第7页
第7页 / 共10页
Java枚举数据类型.docx_第8页
第8页 / 共10页
Java枚举数据类型.docx_第9页
第9页 / 共10页
Java枚举数据类型.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
资源描述

《Java枚举数据类型.docx》由会员分享,可在线阅读,更多相关《Java枚举数据类型.docx(10页珍藏版)》请在优知文库上搜索。

1、程序gctChineseScason(Scason.SPRING)是我们预期的运用方法。可getChineseSeason(5)明显就不是了,而且编译很通过,在运行时会出现什么状况,我们就不得而知了。这明显就不符合JaVa程序的类型平安。接产来我们来考虑一产这种模式的可读性。运用枚举的大多数场合,我都须要便利得到枚举类型的字符申表达式;。假如将int枚举常量打印出来,我们所见到的就是一组数字,这是没什么太大的用处。我们可能会想到运用String常量代替int常增。虽然它为这些常M供应了可打印的字符串,但是它会导致性能问题,因为它依靠于字符申的比较操作,所以这种模式也是我们不期望的。从类型平安性

2、和程序可读性两方面考虑,int和String枚举模式的缺点就显露出来了。幸运的是,从JaVal.5发行版本起先,就提出了另一种可以替代的解决方案,可以避开int和String枚举模式的缺点,并供应了很多额外的好处。那就是枚举类型(enumtype)o接下来的章节将介绍枚举类型的定义、特征、应用场景和优缺点。2.定义枚举类型(CnUmtyPe)是指由一组固定的常城组成合法的类型。Java中由关键字enum来定义一个枚举类型。下面就是java枚举类型的定义。?1publicenumSeason2SPRING,SUMMER,AUTUMN,WINER;33.特点publicclassUseSeason

3、13141516171819202122232425262728293031323334/f* 将英文的季节转换成中文季节* Paramseason* return7publicStringgetChineseSeason(Seasonseason)!StringBufferresult=newStringBufferO;switch(season)caseSPRING:result.append11中文:春天,枚举常址:+SeaSOn.name。+,数据:+SeaSbreak;caseAUTUMN:result.append(C:秋天,枚举能,量:+SeaSOn.name。+,数据:+Sea

4、Sbreak;caseSUMMER:result.append(,:夏天,枚举常最广+season.name。+,数据:+seasbreak;caseWINTER:result.append11r文:一冬天,枚举常量:”+SeaSOn.name。+,数据:+SeaSbreak;default:35result.append(地球没有的季节+season.name);36break;3738returnresult.toString();394041publicvoiddoSomething()42for(SeasonS:Season.valucs()43SyStem.oUt.println(g

5、etChineseSeason(三);这是正常的场景4445/System.out.println(getChineseSeason(5);46此处已经是编译不通过了,这就保证了类型平安474849publicstaticvoidmain(String11arg)50UseSeasonUseSeason=newUseSeasonO;51useSeason.doSomething();5253【中文:春天,枚举常量:SPRlNG,数据:1H中文:夏天,枚举常AhSUMMER,数据中文:秋天,枚举常成:AUTUMN,数据:3中文:冬天,枚举常好:WlNTER,数据:4这里有一个问题,为什么我要将域

6、添加到枚举类型中呢?H的是想将数据与它的常量关联起来。如1代表春天,2代表史天。5 .总结那么什么时候应当运用枚举呢?每当须要一组固定的常盘的时候,如一周的天数、一年四季等。或者是在我们编译前就知道其包含的全部值的集合。JaVaI.5的枚举能满意绝大部分程序员的要求的,它的简明,易用的特点是很突出的.6 .用法用法一:常量?1 publicenumColor2 RED,GREEN,B1.ANK,YE1.1.OW31用法二:switch1enumSignal!2GREEN,YE1.1.OW,RED34publicclassTraffic1.ight5Signalcolor=Signa1.RED;

7、6publicvoidchange7switch(color)8caseRED:9color=Signa1.GREEN;10break;11caseYE1.1.OW:12color=Signa1.RED;13break;14caseGREEN:15color=Signa1.YE1.1.OW;16break;1718:19!用法三:向枚举中添加新方法1publicenumColor2RED(“红色”,1),GREEN(绿色,2),B1.ANK(白色3/成员变量4privateStringname;5privateintindex;6/构造方法7privateColor(Stringname,in

8、tindex)8this,name=name;,3),YE1.1.or黄色,4);1011121314151617181920212223242526272829this.index=index;/一般方法publicstaticStringgetName(intindex)for(Colorc:Color.values()if(c.getlndex()=index)returnc.name;returnnull;/getset方法publicStringgetName()returnname;publicvoidsetName(Stringname)this.name=name;public

9、intgetlndexreturnindex;30publicvoidsetlndex(intindex)31this,index=index;3233用法四:及聋枚举的方法publicenumColor(REDr红色”,1),GREENr绿色,2),B1.ANKr白色”,3),YE1.1.or黄色,4);/成员变量privateStringname;privateintindex;/构造方法privateColor(Stringname,intindex)this.name=name;9this,index=index;10覆盖方法12OverridepublicStringtoString

10、()14returnthis.index+J+this.name;1516用法五:实现接口123456789101112131415161718192021publicinterfaceBehaviourvoidprintO;Stringgetlnfo();publicenumColorimplementsBchaviourRED(“红色,1),GREENS,2),B1.ANKS”,3),YE1.1.OfW,4);/成员变量privateStringname;privateintindex;/构造方法privateColorfStringname,intindex)this.name=name;this.index=index;接口方法OverridepublicStringgetlnfoOreturnthis.name;接口方法Override22publicvoidprint()23System.out.println(this.index+this.name);24!25用法六:运用接口组叙枚举?1 publicinterfaceFood2 enumCoffeeimplementsFood3B1.ACK_COFFEE,DECAF_COFFEE,1.ATTE,CAPPUCCINO45enumDessertimplementsFood;6FRUIT,CAKE,GE1.ATO78

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > Java

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!