DBMNG数据库管理与应用

独立思考能力,对于从事科学研究或其他任何工作,都是十分必要的。
当前位置:首页 > MySQL > 常见问题

枚举继承自Enum类

12.1.4 枚举继承自Enum类

尽管声明枚举时不能继承超类,但是所有枚举都自动继承超类java.lang.Enum,这个类定义了所有枚举都可以使用的一些方法。Enum类将在本书第Ⅱ部分详细介绍,但是在此先讨论它的3个方法。

可以获取用于指示枚举常量在常量列表中位置的值,这称为枚举常量的原始值。通过ordinal()方法可以检索原始值,该方法的声明如下所示:

  1. final int ordinal( )  

该方法返回所调用常量的原始值,原始值从0开始。因此在Apple枚举中,Jonathan的原始值为0,GoldenDel的原始值为1,RedDel的原始值为2,等等。

可以使用compareTo()方法比较相同类型的两个枚举常量的原始值,该方法的一般形式如下:

  1. final int compareTo(enum-type e) 

其中,enum-type是枚举的类型,e是和调用常量进行比较的常量。请记住,调用常量和e必须是相同的枚举。如果调用常量的原始值小于e的原始值,那么compareTo()方法返回负值;如果两个原始值相同,就返回0;如果调用常量的原始值大于e的原始值,就返回正值。

可以使用equals()方法来比较枚举常量和其他对象的相等性,该方法重写了Object类定义的equals()方法。尽管equals()方法可以将枚举常量和任意其他对象进行比较,但是只有当两个对象都引用同一个枚举中相同的常量时,它们才相等。如果两个常量来自不同的枚举,那么即使它们的原始值相同,equals()方法也不会返回true。

请记住,可以使用“==”比较两个枚举引用。

下面的程序演示了ordinal()、compareTo()以及equals()方法:

 
 
该程序的输出如下所示:

 
本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号