中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Jave中怎么對枚舉進行操作

發布時間:2021-07-14 17:05:13 來源:億速云 閱讀:181 作者:Leah 欄目:編程語言

這篇文章給大家介紹Jave中怎么對枚舉進行操作,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

枚舉其實就是一種類型,跟int, char 這種差不多,就是定義變量時限制輸入的,你只能夠賦enum里面規定的值。

定義枚舉 方法很簡單,就跟定義一個類一樣,只是把class換成 enum,其他的,你懂地。e.g:

定義一個簡單的枚舉代碼

public enum WorkDay{         Monday,Tuesday,Wednesday,Thurday,Friday;//定義時,枚舉值間有逗號隔開,***用分號結束       }

廢話不多說,直接上main 方法,拿去玩玩吧:

Java代碼

public static void main(String []args)     {              /**                 * 枚舉類型是一種類型,既然是類型,就是跟int,char他們 一樣的,             * 拿來定義變量,限制你對變量的賦值,就像 int a,你不能夠給a一個 string的值             * 同理,一個枚舉用來定義一個變量時,你只能夠賦枚舉值,其方式為             * "枚舉名.值"                */        WorkDay  myworkday=WorkDay.Wednesday;                 /** 補充點switch的基礎知識,switch語句括號中支持byte \short \char \int類型,           * jdk 1.5以后支持枚舉,所以,這里可以直接使用枚舉變量myworkday。           * 呵呵,在jdk1.7后將switch將支持string              */             switch (myworkday)             {                        /*枚舉重寫了toString()方法,所以枚舉變量的值不帶前綴              * myworkday 里面的值應該是枚舉括號里面的那幾個              */            case Monday:                               System.out.println("you work day is Monday !");                 break;             case Tuesday:                             System.out.println("you work day is Tuesday!");                 break;             case Wednesday:                             System.out.println("you work day is Wednesday !");                 break;             case Thurday:                             System.out.println("you work day is Thurday !");                 break;             case  Friday:                      System.out.println("you work day is Friday !");                  break;             }         System.out.println("--------遍歷所有值----------");         //----使用values()方法返回一個數組                  for(WorkDay day:WorkDay.values())         {                    System.out.println(day);         }         //-----既然是數組,就可以統計大小         System.out.println("WorkDay 里面有   "+WorkDay.values().length+" 個元素");                    //--------------------調用 ordinal()方法,返回枚舉值在枚舉中的索引,數組索引嘛,當然從0開始         System.out.println(WorkDay.Monday.ordinal());         System.out.println(WorkDay.Friday.ordinal());                  //---默認實現java.lang.Comparable接口 ,測試測試         System.out.println(WorkDay.Monday.compareTo(WorkDay.Thurday));//結果應該是 -3         //---Monday的索引為0,Thurday為 3,0-3=-3,         System.out.println(WorkDay.Friday.compareTo(WorkDay.Tuesday));//同理,結果應該為4-1=3,              }

簡單吧,來點狠的,前面說了,枚舉有點像類,只是把class換成了enum,那么它跟一般的類一樣可以添加屬性或方法。

帶方法與屬性的enum代碼

public enum WeAreJavaer{                   chinese,java, spring, DB2, AIX; // 枚舉列表,必須寫在最前面,否則編譯出錯             private final static String location = "javaeye";      //定義一個屬性             public static WeAreJavaer getInfomation() {                       WeAreJavaer flag=null;                 if (location.equals("javaeye"))                   {                  flag=java;                                }                 else                  {                   flag= chinese;                  }                   return flag;                 }         }

老規矩,直接上main()方法測試:

寫道

public static void main(String []ags)   {   System.out.println("---------------------測試調用枚舉中寫的方法-------------------------------");   System.out.println("直接調用枚舉里面的方法: "+ WeAreJavaer.getInfomation());   }

3、來點更狠的。

你可以通過括號來給enum賦值,這樣的話,你必須有帶參的構造方法,還需要有一屬性與方法,否則編譯時會出錯。

另外,你如果給enum里面的元素賦值的話,要么都賦,要么都不賦,不要東賦一個,西賦一個。

如果不賦值則不能寫構造方法,如果你賦值了,而沒有構造方法,編譯還是通不過,廢話不多少,來,看:

可賦值的enum代碼

public enum People {                     xiaowang(20), xiaozhang(32),xiaoli(50), xiaogou(21);            private final int age;                          People(int value) { //構造器只能是默認或者private, 從而保證構造函數只能在內部使用                this.age = value;            }            public int getAge() {                return age;            }        }

好吧,啥也不說了,接下來的事,你懂地:

測試帶值enum代碼

public static void main(String[] args) {            for(People people:People.values()){                /*通過getValue()取得相關枚舉的值*/                System.out.println(people+" 的年齡 :"+people.getAge());            }        }

關于Jave中怎么對枚舉進行操作就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪泽县| 子长县| 沙洋县| 高邑县| 肥城市| 青岛市| 睢宁县| 沁源县| 当雄县| 洛宁县| 太仓市| 武安市| 会东县| 宿松县| 神木县| 苍南县| 大埔区| 建瓯市| 马山县| 澜沧| 永清县| 邵阳市| 大荔县| 芮城县| 休宁县| 绩溪县| 阳东县| 萨嘎县| 昂仁县| 康马县| 梁平县| 渝中区| 达尔| 雅江县| 安阳市| 通山县| 宜阳县| 巨鹿县| 阆中市| 双城市| 枝江市|