java枚举类

                                                      Java的枚举类型

               枚举是java一个特别的类,定义的时候用enum关键词。其中的类型的命名均要大写。它具有一些新的特性。我们看具体的例子。

public enum Enumtest {
	STARCRAFT,HELLO,DOTA;//three named value;
}

               上面是定义的一个枚举类,我定义了三种类型。Java会自动给枚举类型提供一些方法,如获取枚举的值,得到枚举类型的定义顺序等等,如下所示:

		Enumtest[] test =Enumtest.values();//获得枚举类型的数组
		for(int i =0;i<test.length;i++){
			System.out.print(test[i]);System.out.println("是第"+test[i].ordinal()+"被定義的");//ordinal方法可以获得枚举类型定义的次序。
		}

                由此,我们可以得到结果:

STARCRAFT是第0被定義的
HELLO是第1被定義的
DOTA是第2被定義的

                 枚举也可以配合switch语句使用:一般来说,在switch中使用的是整数,enum类型为我们提供了更加便利的方式。

public class Simpleuse {
	public static void main(String[] args) {
		Simpleuse sim = new Simpleuse();
		sim.searchenum(Enumtest.HELLO);
		sim.searchenum(Enumtest.STARCRAFT);
		sim.searchenum(Enumtest.DOTA);
	}
	
	void searchenum(Enumtest test){
		switch(test){
		case DOTA: System.out.println("Dota is a fun game");break;
		case HELLO: System.out.println("Hello everyone");break;
		case STARCRAFT: System.out.println("It's a difficult game");break;
		default: System.out.println("Here are some games");
		}
	}
}

                   结果如下:

Hello everyone
It's a difficult game
Dota is a fun game

                  开头说到,枚举类基本可以被称之为一个常规的类,可以在其中定义自己的方法。也可以拥有自己的main方法如下所示:在Java中,定义枚举类型必须在最前面定义,否则会出现错误。

public enum Gamenum {
	//three types of gamenum;
	DOTA("Defense of the ancients"),STARCRAFT("A RTS game"),MARIO("An interesting game for kids");
	private String description;
	//constructor
	private Gamenum(String description){
		this.description=description;
	}
	public String getDescriptions(){
		return description;
	}
	public static void main(String [] agrs){
		for(Gamenum gamenum:Gamenum.values()){
			System.out.println(gamenum+"---"+gamenum.description);
		}
	}
}

                    输出结果为:

DOTA---Defense of the ancients
STARCRAFT---A RTS game
MARIO---An interesting game for kids

                    To be continued...

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值