简单枚举的使用

博客围绕枚举展开,但具体内容缺失。枚举在信息技术领域是一种重要的数据类型,可用于定义一组命名的常量,在程序设计等方面有广泛应用。
 List<SelectDataVo> selectDataVos = new ArrayList<>();
      //获取年度
      YearEnum[] values = YearEnum.values();
      for (YearEnum yearEnum : values) {
        SelectDataVo selectDataVo = new SelectDataVo();
        selectDataVo.setText(yearEnum.getYear());
        selectDataVos.add(selectDataVo);
      }
public enum YearEnum {

  /** *上半年   */
  UP_YEAR("上半年"),  DOWN_YEAR("下半年");

  private String year;

  YearEnum(String year) {    this.year = year;  }

  public String getYear() {    return year;  }

  public void setYear(String year) {    this.year = year;  }
}


public class SelectDataVo {
    private String text;

    public SelectDataVo() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}

### Java 枚举使用方法与最佳实践 #### 定义枚举类型 在Java中,可以通过`enum`关键字定义枚举类型。枚举常量通常是大写形式,用于表示一组固定的值。 ```java public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY; } ``` 上述代码展示了如何创建一个简单枚举类型 `Day`,它包含了七天的名字[^2]。 #### 使用枚举类型 枚举类型的实例可以直接赋值给变量,并且可以打印其名称或者比较不同的枚举值。 ```java public class TestEnum { public static void main(String[] args) { Day today = Day.MONDAY; System.out.println("Today is " + today); if (today == Day.SATURDAY || today == Day.SUNDAY) { System.out.println("It's weekend!"); } } } ``` 这段代码演示了如何声明和初始化一个枚举类型的变量以及如何判断当前值是否属于特定条件。 #### 自定义构造函数和字段 除了基本的功能外,还可以为枚举添加私有构造函数、额外的数据成员以及其他公共方法来增强其实现能力。 ```java public enum Planet { MERCURY(3.7), VENUS(8.87), EARTH(9.81); private final double gravity; Planet(double gravity){ this.gravity = gravity; } public double getGravity() { return gravity; } } // 测试类 class EnumTest{ public static void main(String[]args){ for(Planet p : Planet.values()){ System.out.printf("%s has a gravity of %.2f m/s²%n",p.name(),p.getGravity()); } } } ``` 此例子说明了如何向枚举添加自定义数据(重力加速度),并通过构造器设置它们[^1]。 #### 方法覆盖 正如前面提到过,在Java里边也可以让每一个独的枚举项去实现自己的行为模式——即允许覆写父级抽象出来的通用接口或功能。 ```java public abstract class Operation { private final String symbol; protected Operation(String symbol){this.symbol=symbol;} @Override public String toString(){return symbol;} // Abstract method to be implemented by each operation. public abstract int apply(int x,int y); } public enum BasicOperation extends Operation { ADD("+") { @Override public int apply(int x, int y) { return x+y; } }, SUBTRACT("-") { @Override public int apply(int x, int y) { return x-y; } }; private BasicOperation(String symbol){ super(symbol); } } ``` 这里展示了一个更复杂的情况,其中每个操作符都实现了自己版本的应用逻辑。 ### 总结 通过以上介绍可以看出,Java中的枚举不仅限于简单地列举几个选项;实际上它可以携带状态信息甚至执行业务逻辑。合理运用这些特性可以帮助开发者写出更加简洁明了又易于维护的程序代码[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值