java的枚举是什么,枚举用法java

  java的枚举是什么,枚举用法java

  

  什么是java枚举?

  java 枚举的定义与用法

  一、枚举的定义:

  枚举是一种特殊的数据类型,之所以特殊,是因为它是一个类类型但是有一些特殊的约束,但是这些约束的存在也让枚举变得简单、安全、方便。枚举类型是使用enum关键字创建的,这意味着所有创建的类型都是java.lang.Enum类的子类(java.lang.Enum是一个抽象类)。枚举符合通用模式Class EnumE extends EnumE,e表示枚举类型的名称。枚举类型的每个值都映射到受保护的枚举(字符串名称,序号)构造函数中,其中每个值的名称都转换为字符串,序号设置指示此设置的创建顺序。

  二、枚举的使用:

  创建枚举类:EnumTest

  公共枚举EnumTest {

  //星期一、星期二、星期三、星期四、星期五、星期六

  星期一(1),TUE(2),星期三(3),THU(4),星期五(5),星期六(6){

  public boolean isRest(){

  返回true

  }

  },

  //星期天

  孙(0){

  public boolean isRest(){

  返回true

  }

  };

  private int值;

  私有枚举测试(整数值){

  this.value=value

  }

  public int getValue(){

  返回值;

  }

  public boolean isRest(){

  返回false

  }

  }使用EnumTest枚举类:

  公共类EnumMain {

  公共静态void main(String[] args) {

  for(enum test enum test:enum test . values()){

  system . out . println(enum test): enum test . getvalue());

  }

  system . out . println(-);

  EnumTest测试=EnumTest。SAT

  开关(测试){

  案例监控:

  System.out.println(今天是星期一);

  打破;

  凯斯TUE:

  System.out.println(今天是星期二);

  打破;

  案例三:

  System.out.println(今天是星期三);

  打破;

  凯斯THU:

  System.out.println(今天是星期四);

  打破;

  案例星期五:

  System.out.println(今天是星期五);

  打破;

  案例SAT:

  System.out.println(今天是星期六);

  打破;

  孙案:

  System.out.println(今天是星期天);

  打破;

  默认值:

  System.out.println(测试);

  打破;

  }

  }

  }结果:

  周一:1

  TUE:2名

  星期三:3

  THU:4人

  星期五:5

  星期六:6

  孙:0——我是分割线。

  今天是星期六。

  三、枚举优缺点:

  在枚举出现之前,如果想表示一组特定的离散值,通常会使用一些常数。例如:

  公共类实体{

  公共静态最终int VIDEO=1;//视频

  公共静态最终int AUDIO=2;//音频

  public static final int TEXT=3;//文本

  public static final int IMAGE=4;//图片

  private int id

  private int类型;

  public int getId() {

  返回id;

  }

  public void setId(int id) {

  this.id=id

  }

  public int getType() {

  返回类型;

  }

  公共void setType(int类型){

  this.type=type

  }四、使用这个常量的方法的缺点:

  1.代码可读性差,容易使用。因为setType()方法的参数是int类型的,

  2.该类型不安全。用户调用时,必须保证类型完全相同,取值范围要正确。like setType(-1);合法,但是不合理,以后会给程序带来各种问题。

  3.耦合度高,扩展性差。如果由于某种原因,需要修改实体类中常量的值,那么在需要更改时却错过了修改,这可不是闹着玩的。

  枚举就是为这类问题而生的。它们提供了将一个任意术语与另一个任意术语进行比较的能力。即java枚举的详细内容是什么,更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: