鴻蒙OS Enum

2022-05-10 17:41 更新

Enum

java.lang.Object

|---java.lang.Enum<E&

public abstract class Enum<E extends Enum<E>>
extends Object
implements Comparable<E>, Serializable

這是所有 Java 語言枚舉類型的通用基類。 有關枚舉的更多信息,包括對編譯器合成的隱式聲明方法的描述,可以在《Java? 語言規(guī)范》的第 8.9 節(jié)中找到。

請注意,當使用枚舉類型作為集合的類型或映射中的鍵的類型時,可以使用專門且高效的集合和映射實現(xiàn)。

構造函數(shù)摘要

修飾符 構造函數(shù) 描述
protected Enum(String name, int ordinal) 唯一的構造函數(shù)

方法總結

修飾符和類型 方法 描述
protected Object clone() 引發(fā) CloneNotSupportedException。
int compareTo(E o) 將此枚舉與指定的對象進行比較以進行排序。
boolean equals(Object other) 如果指定對象等于此枚舉常量,則返回 true。
protected void finalize() 枚舉類不能有 finalize 方法。
ClassE getDeclaringClass() 返回與此枚舉常量的枚舉類型對應的 Class 對象。
int hashCode() 返回此枚舉常量的哈希碼。
String name() 返回此枚舉常量的名稱,與其枚舉聲明中的聲明完全相同。
int ordinal() 返回此枚舉常量的序號(它在其枚舉聲明中的位置,其中初始常量的序號為零)。
String toString() 返回聲明中包含的此枚舉常量的名稱。
static <T extends Enum<T>>T valueOf(Class<T> enumType, String name) 返回具有指定名稱的指定枚舉類型的枚舉常量。
從類 java.lang.Object 繼承的方法
getClass, notify, notifyAll, wait, wait, wait

構造函數(shù)詳細信息

Enum

protected Enum(String name, int ordinal)

唯一的構造函數(shù)。 程序員不能調用這個構造函數(shù)。 它供編譯器為響應枚舉類型聲明而發(fā)出的代碼使用。

參數(shù):

參數(shù)名稱 參數(shù)描述
name - 此枚舉常量的名稱,它是用于聲明它的標識符。
ordinal - 此枚舉常量的序號(它在枚舉聲明中的位置,其中初始常量的序號為零)。

方法詳情

name

public final String name()

返回此枚舉常量的名稱,與其枚舉聲明中的聲明完全相同。 大多數(shù)程序員應該優(yōu)先使用 toString() 方法而不是這個方法,因為 toString 方法可能會返回一個對用戶更友好的名稱。 此方法主要設計用于正確性取決于獲取確切名稱的特殊情況,該名稱不會因版本而異。

返回:

此枚舉常量的名稱

ordinal

public final int ordinal()

返回此枚舉常量的序號(它在其枚舉聲明中的位置,其中初始常量的序號為零)。 大多數(shù)程序員不會使用這種方法。 它設計用于復雜的基于枚舉的數(shù)據(jù)結構,例如 EnumSet 和 EnumMap。

返回:

此枚舉常數(shù)的序數(shù)

toString

public String toString()

返回聲明中包含的此枚舉常量的名稱。 此方法可能會被覆蓋,盡管它通常不是必需的或不可取的。 當存在更“程序員友好”的字符串形式時,枚舉類型應覆蓋此方法。

覆蓋:

類 Object 中的 toString

返回:

此枚舉常量的名稱

equals

public final boolean equals(Object other)

如果指定對象等于此枚舉常量,則返回 true。

覆蓋:

類 Object 中的等于

參數(shù):

參數(shù)名稱 參數(shù)描述
other 要比較的對象與此對象是否相等。

返回:

如果指定的對象等于此枚舉常量,則為 true。

hashCode

public final int hashCode()

返回此枚舉常量的哈希碼。

覆蓋:

類 Object 中的 hashCode

返回:

此枚舉常量的哈希碼。

clone

protected final Object clone() throws CloneNotSupportedException

引發(fā) CloneNotSupportedException。 這保證了枚舉永遠不會被克隆,這是保持它們的“單例”狀態(tài)所必需的。

覆蓋:

在類 Object 中克隆

返回:

從不返回

Throws:

Throw名稱 Throw描述
CloneNotSupportedException 如果對象的類不支持 Cloneable 接口。 覆蓋 clone 方法的子類也可以拋出此異常,表示無法克隆實例。

compareTo

public final int compareTo(E o)

將此枚舉與指定的對象進行比較以進行排序。 返回負整數(shù)、零或正整數(shù),因為此對象小于、等于或大于指定對象。 枚舉常量僅可與相同枚舉類型的其他枚舉常量進行比較。 此方法實現(xiàn)的自然順序是聲明常量的順序。

指定者:

接口 Comparable<E extends EnumE> 中的 compareTo

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要比較的對象。

返回:

負整數(shù)、零或正整數(shù),因為此對象小于、等于或大于指定對象。

getDeclaringClass

public final ClassE getDeclaringClass()

返回與此枚舉常量的枚舉類型對應的 Class 對象。 當且僅當 e1.getDeclaringClass() == e2.getDeclaringClass() 時,兩個枚舉常量 e1 和 e2 是相同的枚舉類型。 (對于具有特定于常量的類主體的枚舉常量,此方法返回的值可能與 Object#getClass 方法返回的值不同。)

返回:

與此枚舉常量的枚舉類型對應的 Class 對象

valueOf

public static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)

返回具有指定名稱的指定枚舉類型的枚舉常量。 該名稱必須與用于在此類型中聲明枚舉常量的標識符完全匹配。 (不允許使用無關的空白字符。)

請注意,對于特定的枚舉類型 T,可以使用該枚舉上隱式聲明的 public static T valueOf(String) 方法而不是此方法來從名稱映射到相應的枚舉常量。 枚舉類型的所有常量都可以通過調用該類型的隱式 public static T[] values() 方法獲得。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 要返回其常量的枚舉類型

參數(shù):

參數(shù)名稱 參數(shù)描述
enumType 要從中返回常量的枚舉類型的 Class 對象
name 要返回的常量的名稱

返回:

具有指定名稱的指定枚舉類型的枚舉常量

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果指定的枚舉類型沒有具有指定名稱的常量,或者指定的類對象不代表枚舉類型
NullPointerException 如果 enumType 或 name 為 null

finalize

protected final void finalize()

枚舉類不能有 finalize 方法。

覆蓋:

在類 Object 中完成

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號