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();
}
相关文章推荐
- JAVA生成XML
- spring-session使用配置(分布式共享session配置)
- spring 框架搭建并创建第一个小程序
- class diagram for java
- 使用Netbeans开发调试OpenJDK中的HotSpot
- shiro与springMVC整合
- leetcode-Java-18. 4Sum
- 【转】java获取当前路径的几种方法
- java split
- 《java入门第一季》之HashSet存储元素保证唯一性的代码及图解
- 《java入门第一季》之HashSet存储元素保证唯一性的代码及图解
- 236. Lowest Common Ancestor of a Binary Tree
- [原创]java WEB学习笔记39:EL中的运算符号(算术运算符,关系运算符,逻辑运算符,empty运算符,条件运算符,括号运算符)
- 《java入门第一季》之HashSet存储自定义对象问题以及注意事项
- 《java入门第一季》之HashSet存储自定义对象问题以及注意事项
- JAVA exception异常处理+I/O操作读写文件 笔记
- Java自定义图片按钮
- 实战记录:从EclipseLink迁移到Hibernate上(2)调试错误
- (My)Eclipse 工作空间常用设置
- 动态从excel取出数据,并封装动态javabean存入数据库