枚举常见用法

 用法一:常量
  在JDK1.5之前,我们定义常量都是:publicstaticfianl….。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
  Java代码
  public enum Color {
  RED, GREEN, BLANK, YELLOW
  }
2
  用法二:switch
  JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。
  Java代码
  enum Signal {
  GREEN, YELLOW, RED
  }
  public class TrafficLight {
  Signal color = Signal.RED;
  public void change() {
  switch (color) {
  case RED:
  color = Signal.GREEN;
  break;
  case YELLOW:
  color = Signal.RED;
  break;
  case GREEN:
  color = Signal.YELLOW;
  break;
  }
  }
  }
3
  用法三:向枚举中添加新方法
  如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且Java要求必须先定义enum实例。
  Java代码
  public enum Color {
  RED(“红色”, 1), GREEN(“绿色”, 2), BLANK(“白色”, 3), YELLO(“黄色”, 4);
  // 成员变量
  private String name;
  private int index;
  // 构造方法
  private Color(String name, int index) {
  this.name = name;
  this.index = index;
  }
  // 普通方法
  public static String getName(int index) {
  for (Color c : Color.values()) {
  if (c.getIndex() == index) {
  return c.name;
  }
  }
  return null;
  }
  // get set 方法
  public String getName() {
  return name;
  }
  public void setName(String name) {
  this.name = name;
  }
  public int getIndex() {
  return index;
  }
  public void setIndex(int index) {
  this.index = index;
  }
  }
4
  用法四:覆盖枚举的方法
  下面给出一个toString()方法覆盖的例子。
  Java代码
  public enum Color {
  RED(“红色”, 1), GREEN(“绿色”, 2), BLANK(“白色”, 3), YELLO(“黄色”, 4);
  // 成员变量
  private String name;
  private int index;
  // 构造方法
  private Color(String name, int index) {
  this.name = name;
  this.index = index;
  }
  //覆盖方法
  @Override
  public String toString() {
  return this.index+”_”+this.name;
  }
  }
5
  用法五:实现接口
  所有的枚举都继承自java.lang.Enum类。由于Java不支持多继承,所以枚举对象不能再继承其他类。
  Java代码
  public interface Behaviour {
  void print();
  String getInfo();
  }
  public enum Color implements Behaviour{
  RED(“红色”, 1), GREEN(“绿色”, 2), BLANK(“白色”, 3), YELLO(“黄色”, 4);
  // 成员变量
  private String name;
  private int index;
  // 构造方法
  private Color(String name, int index) {
  this.name = name;
  this.index = index;
  }
  //接口方法
  @Override
  public String getInfo() {
  return this.name;
  }
  //接口方法
  @Override
  public void print() {
  System.out.println(this.index+”:”+this.name);
  }
  }
6
  用法六:使用接口组织枚举
  Java代码
  public interface Food {
  enum Coffee implements Food{
  BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO
  }
  enum Dessert implements Food{
  FRUIT, CAKE, GELATO
  }
  }
7
  用法七:关于枚举集合的使用
  java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的key是enum类型,而value则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。

前端枚举类型enum的用法有多种方式可以实现。一种常见用法是在JavaScript中使用对象字面量来定义枚举类型。例如: ``` const ClassEnum = { CLASSA: 1, CLASSB: 2, CLASSC: 3 }; ``` 可以通过`ClassEnum.CLASSA`来访问枚举值。这种方式可以直接使用枚举值,但没有提供其他方法来操作枚举类型。 另一种常见用法是使用ES6的class来定义枚举类型。可以定义一个Enum类,然后在其中定义枚举值作为类的静态属性。例如: ``` class Enum { static CLASSA = new Enum(1, "A类"); static CLASSB = new Enum(2, "B类"); static CLASSC = new Enum(3, "C类"); constructor(num, desc) { this.num = num; this.desc = desc; } } ``` 可以通过`Enum.CLASSA`来访问枚举值,并且还可以定义其他方法来操作枚举类型。 另外,如果使用的是TypeScript,它提供了原生的枚举类型的支持。可以使用`enum`关键字来定义枚举类型。例如: ``` enum ClassEnum { CLASSA = 1, CLASSB = 2, CLASSC = 3 } ``` 可以通过`ClassEnum.CLASSA`来访问枚举值。 总结来说,前端枚举类型enum的用法可以通过对象字面量、class或TypeScript的`enum`关键字来实现。具体使用哪种方式取决于你的项目需求和个人偏好。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [枚举类(ENUM)用法总结](https://blog.csdn.net/lulueee/article/details/114277518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [枚举类型Enum的用法](https://blog.csdn.net/LCW0102/article/details/124550969)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值