Java枚举数据类型.docx
《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这里有一个问题,为什么我要将域
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 枚举 数据类型