易截截图软件、单文件、免安装、纯绿色、仅160KB

java 枚举类型


Tiger 中的一个重要新特性是枚举构造,它是一种新的类型,允许用常量来表示特定的数据 片断,而且全部都以类型安全的形式来表示。Tiger 专家、developerWorks 的多产作者 Brett McLaughlin将解释枚举的定义,介绍如何在应用程序中运用枚举,以及它为什么能够让您抛弃所有旧的
public static final 代码。
   您已经知道,Java 代码的两个基本的构造块是类 和接口。现在 Tiger 又引入了枚举,一般简称它为 enum。这个新类型允许您表示特定的数据点,这些数据点只接受分配时预先定 义的值集合。
  当然,熟练的程序员可以用静态常量实现这项功能,如清单 1 所示:
清单 1. public static final 的常量
public class OldGrade {
  public static final int A = 1;
  public static final int B = 2;
  public static final int C = 3;
  public static final int D = 4;
  public static final int F = 5;
  public static final int INCOMPLETE = 6;
}
说明:我要感谢 O'Reilly 媒体公司,该公司允许在本文中使用我撰写的 Java 1.5 Tiger:
A Developer's Notebook 一书中“枚举”这一章中的代码示例(请参阅参考资料)。
然后您就可以让类接受像 OldGrade.B 这样的常量,但是在这样做的时候,请记住这类常量
是 Java 中 int 类型的常量,这意味着该方法可以接受任何 int 类型的值,即使它和
OldGrade 中定的所有级别都不对应。因此,您需要检测上界和下界,在出现无效值的时候,可能还
要包含一个 IllegalArgumentException。而且,如果后来又添加另外一个级别(例如
OldGrade.WITHDREW_PASSING),那么必须改变所有代码中的上界,才能接受这个新值。
换句话说,在使用这类带有整型常量的类时,该解决方案也许可行,但并不是非常有效。幸
运的是,枚举提供了更好的方法。
定义枚举
清单 2 使用了一个可以提供与清单 1 相似的功能的枚举:
清单 2. 简单的枚举类型
package com.oreilly.tiger.ch03;
public enum Grade {
  A, B, C, D, F, INCOMPLETE
};
在这里,我使用了新的关键字 enum,为 enum 提供了一个名称,并指定了允许的值。然后
,Grade 就变成了一个枚举类型,您可以按清单 3 所示的方法使用它:
清单 3. 使用枚举类型
package com.oreilly.tiger.ch03;
public class Student {
  private String firstName;
  privat


相关文档:

Java NIO API详解

 
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......

java经典书籍

java经典书籍汇总(部分)
一、入门 
《Java 2从入门到精通》- 推荐 
《Thinking in Java》- 强烈推荐* 
O’reilly的Java编程基础系列 - 参考* 
二、进阶 
《Java Cook Book》- 非常推荐* (包含了Java编程的Tips,适合当 ......

java中的封装类

封装类也叫包装类,是针对八种基本定义相应的引用类型。
      基本数据类型             封装类
          boolean           &nbs ......

java中的Singleton (单立)设计模式(还没写完)

Java Singleton
模式(单身模式,单态模式)是一种创建型设计模式。用来保证在运行的应用程序中,一个Class只是实例化一次,也就是只有一个相应的对象存在。在
web 程序中我们会用一个核心的分配功能的Servlet程序,在这里我们就可以运用这种设计模式了。 ......

java语言 for ArcGis简单绘图

package demo1;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号