枚举:
1.在JDK 1.5之前,JAVA可以有两种方式定义新类型:类和接口。对于大部分面向对象编程来说,这两种方法看起来似乎足够了。但是在一些特殊情况下,这些方法就不适合。例如,想定义一个Color类,它只能有 Red、Green、Blue三种值,其他的任何值都是非法的,那么JDK 1.5之前虽然可以构造这样的代码,但是要做很多的工作,也有可能带来各种不安全的问题。而JDK 1.5之后引入的枚举类型(Enum)就能避免这些问题。
2.在JDK 1.5之后,引入了一个新的关键字类型 —— enum,可以直接定义枚举类型,格式如下:
[public] enum 枚举类型名称{
枚举对象1,枚举对象2,…,枚举对象n ;
}
package Io;
enum color{
red,bule,green,bk;
}
public class enumtest{
public static void main(String agrs[]){
for(color c:color.values()){
System.out.println(c);
}
}
}
package Io;
enum Color{
red,bule,green,bk;
}
public class enumtest{
public static void main(String[] args) {
for(Color c:Color.values()){ // 枚举.values()表示得到全部枚举的内容
print(c) ;
}
}
public static void print(Color color){
switch(color){ // 判断每个颜色
case red:{ // 直接判断枚举内容
System.out.println(红颜色) ;
break ;
}case green:{ // 直接判断枚举内容
System.out.println(绿颜色) ;
break ;
}case bule:{ // 直接判断枚举内容
System.out.println(蓝颜色) ;
break ;
}default:{ // 未知内容
System.out.println(未知颜色) ;
break ;
}
}
}
}
枚举类的主要操作方法
protected?Enum(String?name,int?ordinal) 接收枚举的名称和枚举的常量创建枚举对象 protected?final?Object?clone()
throws?CloneNotSupportedException 克隆枚举对象 public?final?int?compareTo(E?o) 对象比较 public?final?boolean?equals(Object?other) 比较两个枚举对象 public?final?int?hashCode() 返回枚举常量的哈希码 public?final?String?name() 返回此枚举的名称 public?final?int?ordinal() 返回枚举常量的序数 public?static?T?extends?EnumT?T?valueOf(ClassT?enumType,String?name) 返回带指定名称的指定枚举类型的枚举常量
原创力文档

文档评论(0)