国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

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

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

    時(shí)間: 謝君787 分享

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

      Java枚舉的常見用法

      用法一:常量

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

      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í)例序列的最后添加一個(gè)分號(hào)。而且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