成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

列舉Jave枚舉的幾種操作方法

開發(fā) 后端
Jdk 1.5后來了個哥們叫 enum 平時也用著,但也未做個總結啥地,今兒個同事問我如何用,就整理了下。枚舉其實就是一種類型,跟int, char 這種差不多,就是定義變量時限制輸入的,你只能夠賦enum里面規(guī)定的值。

Jdk 1.5后來了個哥們叫 enum 平時也用著,但也未做個總結啥地,今兒個同事問我如何用,就整理了下。

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

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

定義一個簡單的枚舉代碼

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

 

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

Java代碼

  1. public static void main(String []args)     
  2. {     
  3.          /**    
  4.              * 枚舉類型是一種類型,既然是類型,就是跟int,char他們 一樣的,    
  5.          * 拿來定義變量,限制你對變量的賦值,就像 int a,你不能夠給a一個 string的值    
  6.          * 同理,一個枚舉用來定義一個變量時,你只能夠賦枚舉值,其方式為    
  7.          * "枚舉名.值"    
  8.             */    
  9.     WorkDay  myworkday=WorkDay.Wednesday;        
  10.          /** 補充點switch的基礎知識,switch語句括號中支持byte \short \char \int類型,    
  11.        * jdk 1.5以后支持枚舉,所以,這里可以直接使用枚舉變量myworkday。    
  12.        * 呵呵,在jdk1.7后將switch將支持string    
  13.           */       
  14.       switch (myworkday)     
  15.         {          
  16.     
  17.           /*枚舉重寫了toString()方法,所以枚舉變量的值不帶前綴    
  18.           * myworkday 里面的值應該是枚舉括號里面的那幾個    
  19.           */    
  20.         case Monday:     
  21.                           System.out.println("you work day is Monday !");     
  22.             break;     
  23.         case Tuesday:     
  24.                         System.out.println("you work day is Tuesday!");     
  25.             break;     
  26.         case Wednesday:     
  27.                         System.out.println("you work day is Wednesday !");     
  28.             break;     
  29.         case Thurday:     
  30.                         System.out.println("you work day is Thurday !");     
  31.             break;     
  32.         case  Friday:     
  33.                  System.out.println("you work day is Friday !");     
  34.              break;     
  35.         }     
  36.     System.out.println("--------遍歷所有值----------");     
  37.     //----使用values()方法返回一個數(shù)組     
  38.          
  39.     for(WorkDay day:WorkDay.values())     
  40.     {            
  41.         System.out.println(day);     
  42.     }     
  43.     //-----既然是數(shù)組,就可以統(tǒng)計大小     
  44.     System.out.println("WorkDay 里面有   "+WorkDay.values().length+" 個元素");     
  45.                //--------------------調用 ordinal()方法,返回枚舉值在枚舉中的索引,數(shù)組索引嘛,當然從0開始     
  46.     System.out.println(WorkDay.Monday.ordinal());     
  47.     System.out.println(WorkDay.Friday.ordinal());     
  48.              //---默認實現(xiàn)java.lang.Comparable接口 ,測試測試     
  49.     System.out.println(WorkDay.Monday.compareTo(WorkDay.Thurday));//結果應該是 -3     
  50.     //---Monday的索引為0,Thurday為 3,0-3=-3,     
  51.     System.out.println(WorkDay.Friday.compareTo(WorkDay.Tuesday));//同理,結果應該為4-1=3,     
  52.          
  53. }   

 

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

帶方法與屬性的enum代碼

  1. public enum WeAreJavaer{           
  2.         chinese,java, spring, DB2, AIX; // 枚舉列表,必須寫在最前面,否則編譯出錯     
  3.         private final static String location = "javaeye";      //定義一個屬性     
  4.         public static WeAreJavaer getInfomation() {              
  5.          WeAreJavaer flag=null;     
  6.             if (location.equals("javaeye"))     
  7.               {     
  8.              flag=java;                  
  9.               }     
  10.             else     
  11.              {      
  12.              flag= chinese;     
  13.              }     
  14.               return flag;     
  15.             }     
  16.     } 

 

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

寫道

 

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

 

3、來點更狠的。

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

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

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

可賦值的enum代碼

  1. public enum People {              
  2.        xiaowang(20), xiaozhang(32),xiaoli(50), xiaogou(21);      
  3.       private final int age;        
  4.            
  5.        People(int value) { //構造器只能是默認或者private, 從而保證構造函數(shù)只能在內部使用     
  6.            this.age = value;     
  7.        }     
  8.        public int getAge() {     
  9.            return age;     
  10.        }     
  11.    }   

 

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

測試帶值enum代碼

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

【編輯推薦】

總結C#枚舉在開發(fā)項目中的應用

MySQL字段中的枚舉

詳解ADO.NET Entity Framework 4中枚舉的使用

WCF枚舉類型正確使用方法演示

WCF枚舉實現(xiàn)技巧總結

責任編輯:金賀 來源: JavaEye博客
相關推薦

2009-12-15 13:59:42

Ruby對象操作

2010-02-01 09:40:08

Python操作

2010-09-08 15:47:08

JavsScriptJavaScript

2009-12-30 14:28:06

Silverlight

2010-03-04 09:58:32

安裝Python

2010-02-23 17:59:52

WSIT連接WCF

2009-12-31 11:35:20

Silverlight

2010-03-05 13:48:24

Python for

2009-09-18 10:58:31

C#數(shù)組操作

2009-09-15 23:21:17

Linq插入數(shù)據(jù)

2010-03-15 15:18:23

Python運行

2009-08-18 15:49:19

C# 操作Excel

2009-08-28 15:25:38

C#線程操作

2009-12-30 15:53:28

Silverlight

2010-01-05 15:43:13

.NET Framew

2010-08-25 14:37:38

snort入侵檢測

2010-01-28 14:01:32

Android監(jiān)聽通話

2009-12-28 17:48:01

WPF界面布局

2010-07-28 17:23:23

2020-03-13 19:00:38

Windows 10Windows開機速度
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国品片 | 日韩一级在线 | 日本精品久久久一区二区三区 | 卡通动漫第一页 | 欧美精品一二三 | 在线精品一区二区三区 | av网站免费在线观看 | 欧美人成在线视频 | 在线国产一区二区 | 黑人中文字幕一区二区三区 | 久久久久亚洲 | 狠狠操av| 成人性生交大片 | 成人av一区 | 日韩av在线一区二区 | 亚洲一区精品在线 | 91社影院在线观看 | 亚洲中午字幕 | 国产真实精品久久二三区 | 日本视频中文字幕 | 在线成人免费视频 | 日韩电影在线一区 | 在线看av网址| 操人视频在线观看 | 一区二区视频 | 亚洲 中文 欧美 日韩 在线观看 | 国产一区二区三区在线 | 成人国产在线观看 | 色婷婷久久久久swag精品 | 午夜国产在线 | 国产免费一区二区 | 成人国产精品免费观看视频 | 午夜精品久久久久久 | 亚洲精品一区二区在线 | 亚洲啊v在线 | 99在线免费观看视频 | 欧美日韩a| 久久精品色欧美aⅴ一区二区 | 一级黄色片免费在线观看 | 暖暖成人免费视频 | 日韩精品一区二区三区免费观看 |