一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java枚舉使用方法詳解

Java枚舉使用方法詳解

2021-01-12 14:25CSDN鄧帥 Java教程

這篇文章主要為大家詳細介紹了Java枚舉的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在實際編程中,往往存在著這樣的“數據集”,它們的數值在程序中是穩定的,而且“數據集”中的元素是有限的。

例如星期一到星期日七個數據元素組成了一周的“數據集”,春夏秋冬四個數據元素組成了四季的“數據集”。

在java中如何更好的使用這些“數據集”呢?因此枚舉便派上了用場,以下代碼詳細介紹了枚舉的用法。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
package com.ljq.test;
 
/**
 * 枚舉用法詳解
 *
 * @author jiqinlin
 *
 */
public class TestEnum {
  /**
   * 普通枚舉
   *
   * @author jiqinlin
   *
   */
  public enum ColorEnum {
    red, green, yellow, blue;
  }
 
  /**
   * 枚舉像普通的類一樣可以添加屬性和方法,可以為它添加靜態和非靜態的屬性或方法
   *
   * @author jiqinlin
   *
   */
  public enum SeasonEnum {
    //注:枚舉寫在最前面,否則編譯出錯
    spring, summer, autumn, winter;
 
    private final static String position = "test";
 
    public static SeasonEnum getSeason() {
      if ("test".equals(position))
        return spring;
      else
        return winter;
    }
  }
 
  /**
   * 性別
   *
   * 實現帶有構造器的枚舉
   *
   * @author jiqinlin Java學習交流QQ群:589809992 我們一起學Java!
   *
   */
  public enum Gender{
    //通過括號賦值,而且必須帶有一個參構造器和一個屬性跟方法,否則編譯出錯
    //賦值必須都賦值或都不賦值,不能一部分賦值一部分不賦值;如果不賦值則不能寫構造器,賦值編譯也出錯
    MAN("MAN"), WOMEN("WOMEN");
 
    private final String value;
 
    //構造器默認也只能是private, 從而保證構造函數只能在內部使用
    Gender(String value) {
      this.value = value;
    }
 
    public String getValue() {
      return value;
    }
  }
 
  /**
  * 訂單狀態
  *
  * 實現帶有抽象方法的枚舉
  *
  * @author jiqinlin
  *
  */
  public enum OrderState {
    /** 已取消 */
    CANCEL {public String getName(){return "已取消";}},
    /** 待審核 */
    WAITCONFIRM {public String getName(){return "待審核";}},
    /** 等待付款 */
    WAITPAYMENT {public String getName(){return "等待付款";}},
    /** 正在配貨 */
    ADMEASUREPRODUCT {public String getName(){return "正在配貨";}},
    /** 等待發貨 */
    WAITDELIVER {public String getName(){return "等待發貨";}},
    /** 已發貨 */
    DELIVERED {public String getName(){return "已發貨";}},
    /** 已收貨 */
    RECEIVED {public String getName(){return "已收貨";}};
 
    public abstract String getName();
  }
 
  public static void main(String[] args) {
    //枚舉是一種類型,用于定義變量,以限制變量的賦值;賦值時通過“枚舉名.值”取得枚舉中的值
    ColorEnum colorEnum = ColorEnum.blue;
    switch (colorEnum) {
    case red:
      System.out.println("color is red");
      break;
    case green:
      System.out.println("color is green");
      break;
    case yellow:
      System.out.println("color is yellow");
      break;
    case blue:
      System.out.println("color is blue");
      break;
    }
 
    //遍歷枚舉
    System.out.println("遍歷ColorEnum枚舉中的值");
    for(ColorEnum color : ColorEnum.values()){
      System.out.println(color);
    }
 
    //獲取枚舉的個數
    System.out.println("ColorEnum枚舉中的值有"+ColorEnum.values().length+"個");
 
    //獲取枚舉的索引位置,默認從0開始
    System.out.println(ColorEnum.red.ordinal());//0
    System.out.println(ColorEnum.green.ordinal());//1
    System.out.println(ColorEnum.yellow.ordinal());//2
    System.out.println(ColorEnum.blue.ordinal());//3
 
    //枚舉默認實現了java.lang.Comparable接口
    System.out.println(ColorEnum.red.compareTo(ColorEnum.green));//-1
 
    //--------------------------
    System.out.println("===========");
    System.err.println("季節為" + SeasonEnum.getSeason());
 
 
    //--------------
    System.out.println("===========");
    for(Gender gender : Gender.values()){
      System.out.println(gender.value);
    }
 
    //--------------
    System.out.println("===========");
    for(OrderState order : OrderState.values()){
      System.out.println(order.getName());
    }
  }
 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://geek.csdn.net/news/detail/238251

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 2022最新a精品视频在线观看 | 毛片啪啪视频 | japanese秘书丝袜 | 我和老丈洗澡同性 | 欧美男男xxx激情做受 | 日本一道本中文字幕 | 久草在线福利视频在线播放 | 99久久99热久久精品免 | 国产男女爱视频在线观看 | 褪色的憎恨| 午夜福利体检 | ccc在线在线36 | 翁公与小莹在客厅激情 | 亚洲AV无码国产精品午夜久久 | 毛片应用 | 日本色女 | 国产露脸对白刺激3p在线 | 日韩精品一区二区 | 免费看国产精品久久久久 | 久久婷婷五月综合色丁香 | 免费看a视频 | 激情综合色啪啪小说 | 韩国久久 | 日本中出视频 | 国产主播福利在线观看 | 亚洲国产精品久久精品怡红院 | 久久电影精品久久99久久 | 亚久久伊人精品青青草原2020 | 久久免费资源福利资源站 | 99热这里只有精品免费 | 好大~好爽~再进去一点 | 福利视频一区二区三区 | 岛国片免费观看 | 91麻豆在线观看 | 国产a一级毛片午夜剧院 | 国产精品第 | 精精国产xxxx视频在线播放器 | 久久综合色超碰人人 | japaneseles女同专区 | 欧美激情亚洲 | 日本大学jalapsikix |