经常有许多自学Java的朋友来问我枚举类是怎么回事,说他们看到枚举类的时候一脸懵逼,感觉枚举类看上去怪怪的,很不寻常。其实,枚举类没有想象中的那么奇怪和复杂,反而是一种应用非常广泛的东西,你几乎可以在任何优秀的框架源码中看到它。
自学的朋友们看的书或者视频很多都没有提及到枚举类这块知识,所以导致这些朋友的知识体系不够完整,遇见时就乱了阵脚。今天就跟大家好好说道说道枚举类,帮助大家建立完整的知识体系。
Hello enum
枚举类的关键字是enum,定义一个枚举类其实非常简单,就像这样:
定义枚举类
枚举类往往用于定义一些常量,比如上面这个枚举类Day,可以定义一些诸如Monday(星期一),Tuesday(星期二),Thursday(星期三)等的常量。
定义常量
就像普通class那样,enum可以有成员变量和成员方法,也可以自定义构造方法。
看完以上的这些例子,相信大家对枚举类都有了一个最基本的认识。但是,枚举类真的有存在的必要吗?我们何时才需要用到它呢?
存在的意义
枚举类中是一组预定义的常量,其最大的好处就是防止出现无效值的可能。
如果这么说还不够明白,我们不妨举个例子,现有一个方法根据不同的日子来搞不同的事情,有以下两种方案:
两种方案
不用多说,两种方案,高下立判。前者传过来的参数,有可能在1~7之外,而后者传过来的参数类型是Day枚举类型,值被局限在七种之一,绝对是合法的值!通过使用枚举类,可以避免很多潜在的隐患。
此外,还有一种枚举类常用的应用场景是响应码或者说是错误码。相信大家在使用电脑的过程中都遇到过各种错误弹窗,或者是网页错误消息,都会提示你一个“码”。这个码其实就可以被设计为枚举类,里面预定义好各种各样的码,然后弄一个成员变量代表name,再弄一个成员变量代表reason。
以上就是对Java中枚举类的简介,希望大家以后对于枚举类也不用再一头雾水了。不光如此,你还要特别熟悉枚举类的各种用法,以后你会离不开它的!
如果本文对你有所帮助的话,欢迎点赞收藏分享关注,你的支持是我的最大帮助和动力。后续还会有更多原创文章分享给大家,敬请期待!
领取专属 10元无门槛券
私享最新 技术干货