Java 枚举--枚举的作用

来源:互联网 发布:ios程序员 学历 编辑:程序博客网 时间:2024/04/29 08:55
枚举就是规定好了指定的取值范围,所有的内容只能从指定的范围中取得。使用简单类完成颜色的固定取值问题。

也就是说此时,一个类只能产生固定的几个对象。

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 ;}}}};

0 0
原创粉丝点击