java枚举类型

刺骨的言语ヽ痛彻心扉 2022-05-29 10:07 411阅读 0赞

首先,在Java中,枚举类型其实是相当于类类型,在枚举类型的定义中,我们可以加入构造函数以及各种静态的非静态的成员函数,我们也可以用一个类来模拟枚举类型。

下面是代码:

  1. enum Week
  2. {
  3. SUN(0),MON(1),TUE(2),WED(3),THU(4),FRI(5),SAT(6);//只能是这种格式,因为下面的构造函数限制了,除非加上无参构造函数
  4. int value;
  5. Week(int value) //相当于构造函数,我们赋予了每个成员一个value值
  6. {
  7. this.value=value;
  8. }
  9. public String toString() //重写toString方法,使输出对象时更加直观
  10. {
  11. return value+"";
  12. }
  13. }
  14. class WeekDay{ //用一个类来模拟上述的枚举类型
  15. public static final WeekDay SUN=new WeekDay(0); //相当于是静态的对象成员
  16. public static final WeekDay MON=new WeekDay(1);
  17. public static final WeekDay TUE=new WeekDay(2);
  18. public static final WeekDay WED=new WeekDay(3);
  19. public static final WeekDay THU=new WeekDay(4);
  20. public static final WeekDay FRI=new WeekDay(5);
  21. public static final WeekDay SAT=new WeekDay(6);
  22. int value;
  23. private WeekDay(int value) //构造函数
  24. {
  25. this.value=value;
  26. }
  27. public String toString() //重写toString方法
  28. {
  29. return value+"";
  30. }
  31. public static WeekDay[] values()
  32. {
  33. return new WeekDay[]{SUN,MON,TUE,WED,THU,FRI,SAT};
  34. }
  35. }
  36. public class EnumTest {
  37. public static void main(String[] args) {
  38. Week week=Week.FRI;
  39. System.out.println(week);
  40. for(Week w:Week.values())
  41. {
  42. System.out.println(w);
  43. System.out.println(Week.valueOf("SUN")); //valueOf方法把字符串类型转化成对应的枚举类型
  44. }
  45. System.out.println("=================");
  46. WeekDay day=WeekDay.FRI;
  47. System.out.println(day);
  48. for(WeekDay d:WeekDay.values()) //values方法可以将所有的枚举类型保存到一个该枚举类型的数组中,其实相当于一个对象数组
  49. {
  50. System.out.println(d);
  51. }
  52. }
  53. }

发表评论

表情:
评论列表 (有 0 条评论,411人围观)

还没有评论,来说两句吧...

相关阅读

    相关 类型

    枚举类型的定义和枚举变量的说明  1.  枚举的定义枚举类型定义的一般形式为:      enum 枚举名\{ 枚举值表 \};  在枚举值表中应罗列出所有可用值。

    相关 java类型

    首先,在Java中,枚举类型其实是相当于类类型,在枚举类型的定义中,我们可以加入构造函数以及各种静态的非静态的成员函数,我们也可以用一个类来模拟枚举类型。 下面是代码: