Java 枚举--枚举的作用
枚举就是规定好了指定的取值范围,所有的内容只能从指定的范围中取得。使用简单类完成颜色的固定取值问题。也就是说此时,一个类只能产生固定的几个对象。
class Color{ public static final Color RED = new Color("红色") ; // 定义第一个对象 public static final Color GREEN = new Color("绿色") ; // 定义第一个对象 public static final Color BLUE = new Color("蓝色") ; // 定义第一个对象 private String name ; private Color(String name){ this.name = name ; } public void setName(String name){ this.name = name ; } public String getName(){ return this.name ; } public static Color getInstance(int i){ switch(i){ case 1:{ return RED ; } case 2:{ return GREEN ; } case 3:{ return BLUE ; }default:{ return null ; } } } }; public class ColorDemo01{ public static void main(String args[]){ Color c1 = Color.RED ; // 取得红色 System.out.println(c1.getName()) ; // 输出名字 Color c2 = Color.getInstance(3) ; // 根据编号取得名字 System.out.println(c2.getName()) ; } };此时,程序限定了所能取的对象的范围,所以达到了枚举的功能。
定义一个枚举类型

使用enum关键字定义:
public enum Color{ RED,GREEN,BLUE ; // 定义三个枚举的类型 };枚举中有三个取值。
以后在取得的时候,只能从这三个内容取
public class GetEnumContent{ public static void main(String args[]){ Color c = Color.BLUE ; // 取出蓝色 System.out.println(c) ; } };因为枚举已经指定好了范围,所以可以使用foreach进行全部的输出,使用“枚举.values()”的形式取得全部的枚举内容。
public class PrintEnum{ public static void main(String args[]){ for(Color c:Color.values()){ // 输出枚举中的全部内容 System.out.println(c) ; } } };还可以直接将内容在SWITCH语句上使用。
public class SwitchPrintEnum{ public static void main(String args[]){ for(Color c:Color.values()){ // 输出枚举中的全部内容 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 ; } } } };
最后更新:2017-04-03 12:53:43