亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦>知識大全>知識百科>公共基礎(chǔ)知識>

      java枚舉和常量定義的區(qū)別

      時間: 謝君787 分享

        枚舉是一個被命名的整型常數(shù)的集合,枚舉在Java編程中很常見。以下是由學(xué)習(xí)啦小編整理關(guān)于java枚舉的常見用法的內(nèi)容,希望大家喜歡!

        Java枚舉的常見用法

        用法一:常量

        在JDK1.5之前,我們定義常量都是:publicstaticfianl....?,F(xiàn)在好了,有了枚舉,可以把相關(guān)的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法。

        Java代碼

        public enum Color {

        RED, GREEN, BLANK, YELLOW

        }

        用法二:switch

        JDK1.6之前的switch語句只支持int,char,enum類型,使用枚舉,能讓我們的代碼可讀性更強(qiáng)。

        Java代碼

        enum Signal {

        GREEN, YELLOW, RED

        }

        public class TrafficLight {

        Signal color = Signal.RED;

        public void change() {

        switch (color) {

        case RED:

        color = Signal.GREEN;

        break;

        case YELLOW:

        color = Signal.RED;

        break;

        case GREEN:

        color = Signal.YELLOW;

        break;

        }

        }

        }

        用法三:向枚舉中添加新方法

        如果打算自定義自己的方法,那么必須在enum實(shí)例序列的最后添加一個分號。而且Java要求必須先定義enum實(shí)例。

        Java代碼

        public enum Color {

        RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4);

        // 成員變量

        private String name;

        private int index;

        // 構(gòu)造方法

        private Color(String name, int index) {

        this.name = name;

        this.index = index;

        }

        // 普通方法

        public static String getName(int index) {

        for (Color c : Color.values()) {

        if (c.getIndex() == index) {

        return c.name;

        }

        }

        return null;

        }

        // get set 方法

        public String getName() {

        return name;

        }

        public void setName(String name) {

        this.name = name;

        }

        public int getIndex() {

        return index;

        }

        public void setIndex(int index) {

        this.index = index;

        }

        }

      1808239