Java enum类的定义即使用

</pre><span style="font-size:18px;">枚举类的作用:</span><p></p><p><span style="font-size:18px;"><span style="white-space:pre">			</span>一些程序在运行时,需要的数据不是任意的,而必须实在一定的范围内的值,jdk5以前采用自定义类来实现解决,jdk5以后就可以采用枚举类解决。</span></p><p><span style="font-size:18px;">枚举类的实现:</span></p><p><span style="white-space:pre"><span style="font-size:18px;">		<span style="white-space:pre">	</span></span></span><pre name="code" class="java">public enum Grade{
	 A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0");
}

显然,枚举类很像特殊的class,实际上enum声明定义的类就是一个类。

Java中声明的枚举类,均是java.lang.Enum类的孩子,他继承了Enum的所有方法。有如下常用方法:

String name(): 返回此枚举常量的名称,在其枚举声明中对其进行声明。

int ordinal():返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。

static valueof()://将字符串转化为枚举常量,前提是枚举常亮必须有的

static values()://返回所有的枚举常量

具体用法:

package in.incast_02;

import org.junit.Test;

public class meiJuDemo {
	@Test
	public void test(){
		print(Grade.B);
	}
	public void print(Grade g){
		String value = g.loaclValue();
		System.out.println(value);
		//返回枚举常量的名称
		System.out.println(g.name());
		//返回枚举常量的序数
		System.out.println(g.ordinal());
		//返回所有的枚举常量
		Grade gs[] = Grade.values();
		
		for(Grade g1:gs){
			System.out.println(g1);
		}
		//将字符串转化为枚举常量,前提是枚举常亮必须有的
		String str="B";
		Grade g1 = Grade.valueOf(str);
		
		System.out.println(g1);
	}
	
}
///枚举类
enum Grade{
	 A("100-90"){
		 public String loaclValue(){
			 return "优";
		 }
	 }
	
	,B("89-80"){
		public String loaclValue(){
			 return "良";
		 }
	}
	,C("79-70"){
		public String loaclValue(){
			 return "中";
		 }
	}
	,D("69-60"){
		public String loaclValue(){
			 return "差";
		 }
	}
	,E("59-0"){
		public String loaclValue(){
			 return "不及格";
		 }
	};
	
	 private String value;
	 
	 private Grade(String value){
		 this.value=value;
	 }
	 
	 public String getValue(){
		 return this.value;
	 }
	 
	 public abstract String loaclValue();
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值