1. 程式人生 > >列舉類(三):列舉類中幾個常用的方法

列舉類(三):列舉類中幾個常用的方法

列舉類中的幾個常見方法

int compareTo(E o)

String name()

int ordinal()

String toString()

<T> T valueOf(Class<T> type,String name)

values()

此方法雖然在JDK文件中查詢不到,但每個列舉類都具有該方法,它遍歷列舉類的所有列舉值非常方便

例子:

public classEnumMethodDemo {
   public static void main(String[] args) {
      // int compareTo(E o)
      Direction2d21 = Direction2.FRONT;
      Direction2d22 = Direction2.BEHIND;
      Direction2d23 = Direction2.LEFT;
      Direction2d24 = Direction2.RIGHT;
      System.out.println(d21.compareTo(d21));
      System.out.println(d21.compareTo(d24));
      System.out.println(d24.compareTo(d21));
      System.out.println("---------------");
      // String name()
      System.out.println(d21.name());
      System.out.println(d22.name());
      System.out.println(d23.name());
      System.out.println(d24.name());
      System.out.println("--------------");
      // int ordinal()
      System.out.println(d21.ordinal());
      System.out.println(d22.ordinal());
      System.out.println(d23.ordinal());
      System.out.println(d24.ordinal());
      System.out.println("--------------");
      // String toString()
      System.out.println(d21.toString());
      System.out.println(d22.toString());
      System.out.println(d23.toString());
      System.out.println(d24.toString());
      System.out.println("--------------");
      // <T> T valueOf(Class<T> type,String name)
      Direction2d = Enum.valueOf(Direction2.class,"FRONT");
      System.out.println(d.getName());
      System.out.println("----------------");
      // values()
      // 此方法雖然在JDK文件中查詢不到,但每個列舉類都具有該方法,它遍歷列舉類的所有列舉值非常方便
      Direction2[]dirs = Direction2.values();
      for (Direction2 d2 : dirs){
         System.out.println(d2);
         System.out.println(d2.getName());
      }
   }
}
執行結果:
0
-3
3
---------------
FRONT
BEHIND
LEFT
RIGHT
--------------
0
1
2
3
--------------
FRONT
BEHIND
LEFT
RIGHT
--------------
前
----------------
FRONT
前
BEHIND
後
LEFT
左
RIGHT
右