Chinaunix首页 | 论坛 | 博客
  • 博客访问: 274429
  • 博文数量: 757
  • 博客积分: 40040
  • 博客等级: 大将
  • 技术积分: 4935
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 12:37
文章分类

全部博文(757)

文章存档

2011年(1)

2008年(756)

我的朋友

分类:

2008-09-09 12:43:24

     Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。

  1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。

  2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。

  3.Enum默认实现了java.lang.Comparable接口。

  4.Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”.

  5.Enum提供了一个valueOf方法,这个方法和toString方法是相对应的。调用valueOf(“Blue”)将返回Color.Blue.因此我们在自己重写toString方法的时候就要注意到这一点,一把来说应该相对应地重写valueOf方法。

  6.Enum还提供了values方法,这个方法使你能够方便的遍历所有的枚举值。

  7.Enum还有一个oridinal的方法,这个方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定,这里Color.Red.ordinal()返回0。

  了解了这些基本特性,我们来看看如何使用它们。

  1.遍历所有有枚举值. 知道了有values方法,我们可以轻车熟路地用ForEach循环来遍历了枚举值了。

  for (Color c: Color.values())
  System.out.println(“find value:” + c);

  2.在enum中定义方法和变量,比如我们可以为Color增加一个方法随机返回一个颜色。

  public enum Color {
  Red,
  Green,
  Blue;

  /*

[1]   

【责编:landy】

--------------------next---------------------

阅读(141) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~