枚举类型预定义的方法:public static enumtype[] values() //枚举类型的数组,该数组包含枚举的所有枚举成员,并按他们的生命顺序存储
public static enumtype valueOf(String str) //返回名称为str的枚举成员
java示例:package java示例;
enum Direction
{
EAST,NORTH,SOUTH,WEST
}
public class 不包含方法的枚举 {
public static void main(String[] args)
{
Direction dir=Direction.EAST;
Direction dir1=Direction.valueOf("NORTH");
System.out.print(dir);
System.out.println(" "+dir1);
for(Direction d:Direction.values())
//d.ordinal()返回枚举成员在枚举中的序号
//d.name()返回枚举常量的名称
System.out.println("序号:"+d.ordinal()+"的值为:"+d.name());
}
}
运行结果:
EAST NORTH
序号:0的值为:EAST
序号:1的值为:NORTH
序号:2的值为:SOUTH
序号:3的值为:WEST
由于所有的枚举类都继承了java.lang,Enum,该类定义了枚举公用的方法以便用户使用。由于Enum类实现了java.lang.Comoarable和java.lang.Serializable两个接口,所以枚举类型是可以使用比较器和遍历操作的。
(相关学习视频分享:java视频教程)
下面给出Enum类的常用方法:public final int comparaTo(E o)//返回当前枚举成员与参数枚举成员o在定义时顺序的比较结果
public final String name()//返回枚举常量的名称
public final int ordinal()//返回枚举成员在枚举中的序号
public final boolean equals(Object obj)//比较两个枚举引用的对象是否相等
public String toString()//返回枚举成员的名称
public static《T extends Enum《T》》T valueOf(Class《T》enumType,String name)//返回指定枚举类型和指定名称的枚举成员
java示例:package java示例;
enum Direction{
EAST("东"),SOUTH("南"),WEST("西"),NORTH("北");
private String name;
private Direction(String name) {
this.name=name;
}
public String toString() {
return name;
}
}
public class 示例 {
public static void main(String[] args) {
//public static>T valueOf(ClassenumType,String name)
//返回指定枚举类型和指定名称的枚举成员
Direction dir=Enum.valueOf(Direction.class, "NORTH");
System.out.println(dir);
for(Direction d:Direction.values())
//d.name()返回枚举常量的名称
//d.toString()返回枚举成员的名称
System.out.println(d.name()+"的属性是"+d.toString());
}
}
运行结果:
北
EAST的属性是东
SOUTH的属性是南
WEST的属性是西
NORTH的属性是北package Example;
enum Direction1
{
EAST,SOUTH,WEST,NORTH
}
enum Direction2
{
EAST,SOUTH,WEST,NORTH
}
public class Example5 {
public static void main(String[] args)
{
Direction1 dir1=Direction1.WEST;
Direction2 dir2=Direction2.NORTH;
Direction1 dir3=Direction1.NORTH;
System.out.println(dir1.compareTo(dir3));
System.out.println(dir1.equals(dir2));
}
}
运行结果:
-1
false
``
相关文章教程推荐:java快速入门