JAVA enum

List of points:

  1. The enum in JAVA is in fact a special class
    1. Each constant in the enum is an instance. The instance is implictly the 'static' and 'public'
    2. The (implicit) constructor of the enum is private and so user can never construct a new enum constant after it's defined.
  2. You can add more methods to the enum but the constants shall always be defined at the beginning.
  3. Every enum implicitly contains below two methods
    1. valueOf(String) return the enum instance by its name string.
    2. values() returns the array of enum instances
  4. The enum can be sophiscated coded and designed but usually it's simple enough. If you design a sophiscated enum, it may mean 'enum' is not suitable to your needs.
  5. Even though it's the class/instance, it can be directly used in the switch case context.
Java中的枚举(enum)是一种特殊的数据类型,用于声明一个包含有限个数常量的集合。 使用关键字`enum`可以定义一个枚举类型。例如,我们可以定义一个表示星期几的枚举类型: ```java enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; } ``` 枚举类型的每个常量都是该类型的一个实例,可以通过初始变量列表来声明它们。在上面的例子中,我们定义了七个星期的常量。 枚举类型有一些重要的特性。首先,枚举常量是常量,并且在定义时已经确定。它们不可更改,也不可继承。其次,枚举常量是类型安全的,因为它们只能被分配给相应的枚举类型。例如,我们不能将一个星期常量分配给一个整数变量。 枚举类型还可以具有方法,像一个普通的类一样。例如,我们可以定义一个方法来获取星期几的缩写: ```java enum Day { MONDAY("Mon"), TUESDAY("Tue"), WEDNESDAY("Wed"), THURSDAY("Thu"), FRIDAY("Fri"), SATURDAY("Sat"), SUNDAY("Sun"); private final String abbreviation; private Day(String abbreviation) { this.abbreviation = abbreviation; } public String getAbbreviation() { return abbreviation; } } ``` 在上面的例子中,我们为每个枚举常量添加了一个缩写属性,并定义了一个返回该属性的方法。 通过使用枚举,我们可以将一组相关常量组织在一起,并可以轻松地进行类型安全的比较。枚举也可以在switch语句中使用,使代码更加可读和易于维护。 总结起来,Java中的枚举提供了一种简单而强大的方式来表示有限的常量集合。枚举常量是类型安全的,可以具有方法,可以在switch语句中使用,使代码更加清晰和可读。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值