国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

java基礎(chǔ)篇---枚舉詳解

2019-11-14 22:38:15
字體:
供稿:網(wǎng)友
java基礎(chǔ)篇---枚舉詳解

在JDK1.5之前,JAVA可以有兩種方式定義新類型:類和接口,對于大部分面向?qū)ο缶幊?,有這兩種似乎就足夠了,但是在一些特殊情況就不合適。例如:想要定義一個Color類,它只能有Red,Green,Blue三種,其他值則是錯誤,在JDK1.5之后便引入枚舉類型。

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

public enum Color{    RED,GREEN,BLUE ;    // 定義三個枚舉的類型};

枚舉中有三個取值,以后再取的時候,只能從這三個內(nèi)容取

public class GetEnumContent{    public static void main(String args[]){        Color c = Color.BLUE ;        // 取出藍色        System.out.PRintln(c) ;    }};

可以直接使用在Switch語句上

public class SwitchPrintEnum{    public static void main(String args[]){        for(Color c:Color.values()){    // 輸出枚舉中的全部內(nèi)容            print(c) ;        }    }    public static void print(Color color){        switch(color){            case RED:{                System.out.println("紅顏色") ;                break ;            }            case GREEN:{                System.out.println("綠顏色") ;                break ;            }            case BLUE:{                System.out.println("藍顏色") ;                break ;            }            default:{                System.out.println("未知顏色") ;                break ;            }        }    }};

使用enum關(guān)鍵字可以定義一個枚舉,也可以定義一個Eunm類

枚舉類的操作方法:

在枚舉已經(jīng)實現(xiàn)Comparable接口,所以在枚舉中的內(nèi)容可以排序。

案列一

import java.util.Iterator;import java.util.Set ;import java.util.TreeSet ;enum Color{    RED,GREEN,BLUE ;}public class ComparableEnum{    public static void main(String args[]){        Set<Color> t = new TreeSet<Color>() ;    // 設(shè)置類型        t.add(Color.GREEN) ;    // 加入綠色        t.add(Color.RED) ;        // 加入紅色        t.add(Color.BLUE) ;        // 加入藍色        Iterator<Color> iter = t.iterator() ;        while(iter.hasNext()){            System.out.print(iter.next() + "、") ;        }    }};

案列二

使用EnumMap

import java.util.EnumMap ;import java.util.Map ;enum Color{    RED , GREEN , BLUE ;}public class EnumMapDemo{    public static void main(String args[]){        Map<Color,String> desc = null ;        // 定義Map對象,同時指定類型        desc = new EnumMap<Color,String>(Color.class) ;    // 實例化EnumMap對象        desc.put(Color.RED,"紅色") ;        desc.put(Color.GREEN,"綠色") ;        desc.put(Color.BLUE,"藍色") ;        System.out.println("====== 輸出全部的內(nèi)容 ======") ;        for(Color c:Color.values()){            System.out.println(c.name() + " --> " + desc.get(c)) ;        }        System.out.println("====== 輸出全部的鍵值 ======") ;        for(Color c:desc.keySet()){            System.out.print(c.name() + "、") ;        }        System.out.println() ;        System.out.println("====== 輸出全部的內(nèi)容 ======") ;        for(String s:desc.values()){            System.out.print(s + "、") ;        }    }};

案列三

使用EnumSet

import java.util.EnumSet ;enum Color{    RED , GREEN , BLUE ;}public class EnumSetDemo{    public static void main(String args[]){        EnumSet<Color> esOld = null ;            // 聲明一個EnumSet對象        EnumSet<Color> esNew = null ;        System.out.println("======== EnumSet.copyOf(Color.class) =====") ;        esOld = EnumSet.noneOf(Color.class) ;    // 將枚舉的全部類型設(shè)置到EnumSet對象之中        esOld.add(Color.RED) ;    // 增加內(nèi)容        esOld.add(Color.GREEN) ;    // 增加內(nèi)容        esNew = EnumSet.copyOf(esOld) ;    // 從已有的集合拷貝過來        print(esNew) ;    }    public static void print(EnumSet<Color> temp){    // 專門的輸出操作        for(Color c:temp){        //  循環(huán)輸出EnumSet中的內(nèi)容            System.out.print(c + "、") ;        }        System.out.println() ;    }};


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 松江区| 会昌县| 邯郸市| 同江市| 阿拉善左旗| 拉萨市| 东乌珠穆沁旗| 玛沁县| 临潭县| 博野县| 静宁县| 石家庄市| 太保市| 亚东县| 南川市| 邓州市| 牟定县| 屏东县| 筠连县| 天柱县| 台湾省| 额敏县| 岢岚县| 土默特左旗| 广州市| 扎兰屯市| 毕节市| 榆树市| 隆昌县| 松江区| 梅州市| 泾阳县| 松潘县| 正定县| 临夏市| 福清市| 东安县| 桑日县| 富顺县| 若尔盖县| 聊城市|