您的位置:首页 > 编程语言 > Java开发

Java enum类的定义即使用

2016-06-03 18:36 399 查看
</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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: