Java中的枚举,这一篇全了,一些默默无闻的干货

Java枚举,也称作Java枚举类型,是一种字段由一组固定常量集合组成的类型。枚举的主要目的是加强编译时类型的安全性。enum关键字是Java中的保留关键字。

在编译或设计时,当我们知道所有变量的可能性时,尽量使用枚举类型。本篇文章就带大家全面系统的了解枚举的使用,以及会遇到的一些问题。

Java中的枚举

枚举通常是一组相关的常量集合,其他编程语言很早就开始用枚举了,比如C++。从JDK1.5起,Java也开始支持枚举类型。

枚举是一种特殊的数据类型,它既是一种类(class)类型却又比类类型多了些特殊的约束,这些约束也造就了枚举类型的简洁性、安全性以及便捷性。

在Java中,通过enum来声明枚举类型,默认继承自java.lang.Enum。所以声明枚举类时无法再继承其他类。

枚举声明

在生活中我们会经常辨认方向,东南西北,它们的名称、属性等基本都是确定的,我们就可以将其声明为枚举类型:


  1. public enum Direction { 
  2.    EAST, WEST, NORTH, SOUTH; 

同样,每周七天也可以声明成枚举类型:


  1. enum Day { 
  2.     MONDAY, TUESDAY, WEDNESDAY, 
  3.     THURSDAY, FRIDAY, SATURDAY, SUNDAY 

在没有枚举或没使用枚举的情况下,并不是说不可以定义变量,我们可以通过类或接口进行常量的定义:


  1. public class Day { 
  2.  
  3.     public static final int MONDAY =1; 
  4.  
  5.     public static final int TUESDAY=2; 
  6.  
  7.     public static final int WEDNESDAY=3; 
  8.  
  9.     public static final int THURSDAY=4; 
  10.  
  11.     public static final int FRIDAY=5; 
  12.  
  13.     public static final int SATURDAY=6; 
  14.  
  15.     public static final int SUNDAY=7; 
  16.  

但这样存在许多不足,如在类型安全和使用方便性上。如果存在定义int值相同的变量,混淆的几率还是很大的,编译器也不会提出任何警告。因此,当能使用枚举的时候,并不提倡这种写法。

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章