枚举

浪子不回头ぞ 提交于 2020-02-05 18:49:08

枚举

枚举的概述:

枚举是在一定范围内取值,并且这个值必须是枚举类型中的任意一个,并且只能有一个。

特点:

1.必须在规定范围内取值
2.这个值只能取一个
3.这个值可以是规定范围内的任意一个

枚举的本质就是一个Java类
枚举的引入

获取枚举实例的三种方式

public enum Week {
 //枚举项(可以使用,但是避免使用中文)
 one("星期一"),two("星期二"),Three("星期三"),four("星期四");
   //定义属性
  private String name;
  //构造
  public String getName() {
   return name;
  }
  //set get
  private Week(String name) {
   this.name = name;
  }
  public void setName(String name) {
   this.name = name;
  }
}
public class Test2 {
public static void main(String[] args) {
	//获取枚举实例的三种方式
	//1、通过枚举项获取枚举值
 	 Week week = Week.four;
 	 //输出four
 	 System.out.println(week);

	//2、通过指定  枚举项  获取枚举实例valueOf()
	 Week week2 = Week.valueOf("one");
	 //输出one
	 System.out.println(week2);

	//3、获取所有的枚举项values()
	  Week[] week3 = Week.values();
	  //输出所有枚举	
	  for(Week week4:week3){
	   System.out.println(week4);
	  }

	  //set 赋值 get 取值
	  Week week4 = Week.four;
	  week.setName("星期五");
	  System.out.println(week.getName());	

	  //通过有参构造赋值
	  Week[] wee3 = Week.values();
	  for (Week we:wee3){
	   System.out.println(we.getName());
	  }

	/**
	* 配合switch使用
	*/
	Week[] wee4 = Week.values();
	for (Week we:wee4){
	   switch (we) { //枚举类  变量
	  	 case one:  //case 直接写 枚举项
	  	  System.out.println("当前是:"+we.getName());
	   	 break;
	   	case two:  //case 直接写 枚举项
	   	 System.out.println("当前是:"+we.getName());
	  	  break;
	  	 case Three:  //case 直接写 枚举项   
	  	  System.out.println("当前是:"+we.getName());
	   	 break;
	   	case four:  //case 直接写 枚举项
 	  	 System.out.println("当前是:"+we.getName());
		  break;
	   }
 	 }
 } 
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!