您的位置:首页 > 职场人生

黑马程序员_关于API1.5新特性之枚举

2015-08-23 19:39 288 查看
 ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

复习到了枚举,把笔记稍微整理了下,分享给大家,希望能互相帮助。

使用枚举的注意事项:

定义枚举类要用关键字enum

所有枚举类都是Enum的子类

枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略

枚举类可以有构造器,但必须是private的,它默认的也是private的。枚举项的用法比较特殊:枚举(“”);

枚举类也可以有抽象方法,但是枚举项必须重写该方法

枚举在switch语句中的使用

枚举类的常见方法

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

int compareTo(E o)比较两个枚举对应的角标值的差

String name() 获取对应枚举项的名字

String toString()获取对应枚举项的名字

<T> T valueOf(Class<T> type,String name) 返回带指定名称的指定枚举类型的枚举常量

values()

此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便

例子:演示枚举类中的常用方法

public class DirectionDemo {

public static void main(String[] args) {

// 获取对应的枚举项

Direction front = Direction.FRONT ;

Direction after = Direction.AFTER ;

Direction left = Direction.LEFT ;

Direction right = Direction.RIGHT ;

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

System.out.println(front.ordinal());

System.out.println(after.ordinal());

System.out.println(left.ordinal());

System.out.println(right.ordinal());

System.out.println("-------------------------------");

// int compareTo(E o)

System.out.println(front.compareTo(after));

System.out.println(front.compareTo(right));

System.out.println("-------------------------------");

// String name()

System.out.println(front.name());

System.out.println(after.name());

System.out.println(left.name());

System.out.println(right.name());

System.out.println("-------------------------------");

// String toString()

System.out.println(front.toString());

System.out.println(after.toString());

System.out.println(left.toString());

System.out.println(right.toString());

System.out.println("-------------------------------");

// public static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)返回带指定名称的指定枚举类型的枚举常量。

Direction direction = Enum.valueOf(Direction.class, "FRONT") ;

System.out.println(direction.ordinal());

System.out.println(direction);

System.out.println("-------------------------------");

// values() : 获取所有的枚举项

Direction[] dirs = Direction.values() ;

for(Direction dir : dirs){

System.out.println(dir);

}

}

}

enum Direction {

FRONT , AFTER ,LEFT , RIGHT ;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: