zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java 枚举--枚举的作用

JAVA -- 作用 枚举
2023-09-14 08:57:16 时间
枚举就是规定好了指定的取值范围,所有的内容只能从指定的范围中取得。使用简单类完成颜色的固定取值问题。 br p 也就是说此时,一个类只能产生固定的几个对象。 /p p /p pre code_snippet_id= 105256 snippet_file_name= blog_20131210_1_6466889 name= code >

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

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 ;