Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Protected Ctors](https://developer.android.com/reference/java/lang/Enum#proctors) \| [Methods](https://developer.android.com/reference/java/lang/Enum#pubmethods) \| [Protected Methods](https://developer.android.com/reference/java/lang/Enum#promethods) \| [Inherited Methods](https://developer.android.com/reference/java/lang/Enum#inhmethods)

# Enum


`
public


abstract
class
Enum
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/java/lang/Comparable<E extends https://developer.android.com/reference/java/lang/Enum<E>>,

https://developer.android.com/reference/java/io/Serializable


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | java.lang.Enum\<E extends [java.lang.Enum](https://developer.android.com/reference/java/lang/Enum)\<E\>\> |

Known direct subclasses [AccessMode](https://developer.android.com/reference/java/nio/file/AccessMode), [AclEntryFlag](https://developer.android.com/reference/java/nio/file/attribute/AclEntryFlag), [AclEntryPermission](https://developer.android.com/reference/java/nio/file/attribute/AclEntryPermission), [AclEntryType](https://developer.android.com/reference/java/nio/file/attribute/AclEntryType), [Allocation.MipmapControl](https://developer.android.com/reference/android/renderscript/Allocation.MipmapControl), [AlphabeticIndex.Bucket.LabelType](https://developer.android.com/reference/android/icu/text/AlphabeticIndex.Bucket.LabelType), [AsyncTask.Status](https://developer.android.com/reference/android/os/AsyncTask.Status), [Authenticator.RequestorType](https://developer.android.com/reference/java/net/Authenticator.RequestorType), [Bitmap.CompressFormat](https://developer.android.com/reference/android/graphics/Bitmap.CompressFormat), [Bitmap.Config](https://developer.android.com/reference/android/graphics/Bitmap.Config), [BlendMode](https://developer.android.com/reference/android/graphics/BlendMode), [BlurMaskFilter.Blur](https://developer.android.com/reference/android/graphics/BlurMaskFilter.Blur), [CRLReason](https://developer.android.com/reference/java/security/cert/CRLReason), [Canvas.EdgeType](https://developer.android.com/reference/android/graphics/Canvas.EdgeType), [Canvas.VertexMode](https://developer.android.com/reference/android/graphics/Canvas.VertexMode), and 149 others. [AccessMode](https://developer.android.com/reference/java/nio/file/AccessMode) Defines access modes used to test the accessibility of a file. [AclEntryFlag](https://developer.android.com/reference/java/nio/file/attribute/AclEntryFlag) Defines the flags for used by the flags component of an ACL `https://developer.android.com/reference/java/nio/file/attribute/AclEntry`. [AclEntryPermission](https://developer.android.com/reference/java/nio/file/attribute/AclEntryPermission) Defines the permissions for use with the permissions component of an ACL `https://developer.android.com/reference/java/nio/file/attribute/AclEntry`. [AclEntryType](https://developer.android.com/reference/java/nio/file/attribute/AclEntryType) A typesafe enumeration of the access control entry types. [Allocation.MipmapControl](https://developer.android.com/reference/android/renderscript/Allocation.MipmapControl) Controls mipmap behavior when using the bitmap creation and update functions. [AlphabeticIndex.Bucket.LabelType](https://developer.android.com/reference/android/icu/text/AlphabeticIndex.Bucket.LabelType) Type of the label [AsyncTask.Status](https://developer.android.com/reference/android/os/AsyncTask.Status) Indicates the current status of the task. [Authenticator.RequestorType](https://developer.android.com/reference/java/net/Authenticator.RequestorType) The type of the entity requesting authentication. [Bitmap.CompressFormat](https://developer.android.com/reference/android/graphics/Bitmap.CompressFormat) Specifies the known formats a bitmap can be compressed into [Bitmap.Config](https://developer.android.com/reference/android/graphics/Bitmap.Config) Possible bitmap configurations. [BlendMode](https://developer.android.com/reference/android/graphics/BlendMode) [BlurMaskFilter.Blur](https://developer.android.com/reference/android/graphics/BlurMaskFilter.Blur) [CRLReason](https://developer.android.com/reference/java/security/cert/CRLReason) The CRLReason enumeration specifies the reason that a certificate is revoked, as defined in [RFC 5280: Internet X.509 Public Key Infrastructure Certificate and CRL
Profile](http://tools.ietf.org/html/rfc5280). [Canvas.EdgeType](https://developer.android.com/reference/android/graphics/Canvas.EdgeType) *This enum was deprecated
in API level 30.
quickReject no longer uses this.* [Canvas.VertexMode](https://developer.android.com/reference/android/graphics/Canvas.VertexMode) [CertPathValidatorException.BasicReason](https://developer.android.com/reference/java/security/cert/CertPathValidatorException.BasicReason) The BasicReason enumerates the potential reasons that a certification path of any type may be invalid. [Character.UnicodeScript](https://developer.android.com/reference/java/lang/Character.UnicodeScript) A family of character subsets representing the character scripts defined in the [*Unicode Standard Annex #24: Script Names*](http://www.unicode.org/reports/tr24/). [ChronoField](https://developer.android.com/reference/java/time/temporal/ChronoField) A standard set of fields. [ChronoUnit](https://developer.android.com/reference/java/time/temporal/ChronoUnit) A standard set of date periods units. [ClientInfoStatus](https://developer.android.com/reference/java/sql/ClientInfoStatus) Enumeration for status of the reason that a property could not be set via a call to `Connection.setClientInfo` [Collector.Characteristics](https://developer.android.com/reference/java/util/stream/Collector.Characteristics) Characteristics indicating properties of a `Collector`, which can be used to optimize reduction implementations. [ColorSpace.Adaptation](https://developer.android.com/reference/android/graphics/ColorSpace.Adaptation)

List of adaptation matrices that can be used for chromatic adaptation
using the von Kries transform.


[ColorSpace.Model](https://developer.android.com/reference/android/graphics/ColorSpace.Model) A color model is required by a `https://developer.android.com/reference/android/graphics/ColorSpace` to describe the way colors can be represented as tuples of numbers. [ColorSpace.Named](https://developer.android.com/reference/android/graphics/ColorSpace.Named)

List of common, named color spaces.


[ColorSpace.RenderIntent](https://developer.android.com/reference/android/graphics/ColorSpace.RenderIntent) A render intent determines how a `https://developer.android.com/reference/android/graphics/ColorSpace.Connector`
maps colors from one color space to another.


[CompactDecimalFormat.CompactStyle](https://developer.android.com/reference/android/icu/text/CompactDecimalFormat.CompactStyle) Style parameter for CompactDecimalFormat. [ConsoleMessage.MessageLevel](https://developer.android.com/reference/android/webkit/ConsoleMessage.MessageLevel) [CryptoPrimitive](https://developer.android.com/reference/java/security/CryptoPrimitive) An enumeration of cryptographic primitives. [Currency.CurrencyUsage](https://developer.android.com/reference/android/icu/util/Currency.CurrencyUsage) Currency Usage used for Decimal Format [CursorJoiner.Result](https://developer.android.com/reference/android/database/CursorJoiner.Result) The result of a call to next(). [DateFormat.BooleanAttribute](https://developer.android.com/reference/android/icu/text/DateFormat.BooleanAttribute) boolean attributes [DateFormat.HourCycle](https://developer.android.com/reference/android/icu/text/DateFormat.HourCycle) Hour Cycle [DateTimePatternGenerator.DisplayWidth](https://developer.android.com/reference/android/icu/text/DateTimePatternGenerator.DisplayWidth) Field display name width constants for getFieldDisplayName [DayOfWeek](https://developer.android.com/reference/java/time/DayOfWeek) A day-of-week, such as 'Tuesday'. [DisplayContext](https://developer.android.com/reference/android/icu/text/DisplayContext) Display context settings. [DisplayContext.Type](https://developer.android.com/reference/android/icu/text/DisplayContext.Type) Type values for DisplayContext [DisplayOptions.Capitalization](https://developer.android.com/reference/android/icu/text/DisplayOptions.Capitalization) Represents all the capitalization options. [DisplayOptions.DisplayLength](https://developer.android.com/reference/android/icu/text/DisplayOptions.DisplayLength) Represents all the display lengths. [DisplayOptions.GrammaticalCase](https://developer.android.com/reference/android/icu/text/DisplayOptions.GrammaticalCase) Represents all the grammatical cases that are supported by CLDR. [DisplayOptions.NameStyle](https://developer.android.com/reference/android/icu/text/DisplayOptions.NameStyle) Represents all the name styles. [DisplayOptions.NounClass](https://developer.android.com/reference/android/icu/text/DisplayOptions.NounClass) Represents all the grammatical noun classes that are supported by CLDR. [DisplayOptions.PluralCategory](https://developer.android.com/reference/android/icu/text/DisplayOptions.PluralCategory) Standard CLDR plural category constants. [DisplayOptions.SubstituteHandling](https://developer.android.com/reference/android/icu/text/DisplayOptions.SubstituteHandling) Represents all the substitute handlings. [DrbgParameters.Capability](https://developer.android.com/reference/java/security/DrbgParameters.Capability) The reseedable and prediction resistance capabilities of a DRBG. [Element.DataKind](https://developer.android.com/reference/android/renderscript/Element.DataKind) The special interpretation of the data if required. [Element.DataType](https://developer.android.com/reference/android/renderscript/Element.DataType) DataType represents the basic type information for a basic element. [ElementType](https://developer.android.com/reference/java/lang/annotation/ElementType) The constants of this enumerated class provide a simple classification of the syntactic locations where annotations may appear in a Java program. [FileVisitOption](https://developer.android.com/reference/java/nio/file/FileVisitOption) Defines the file tree traversal options. [FileVisitResult](https://developer.android.com/reference/java/nio/file/FileVisitResult) The result type of a `https://developer.android.com/reference/java/nio/file/FileVisitor`. [FormatStyle](https://developer.android.com/reference/java/time/format/FormatStyle) Enumeration of the style of a localized date, time or date-time formatter. [Formatter.BigDecimalLayoutForm](https://developer.android.com/reference/java/util/Formatter.BigDecimalLayoutForm) Enum for `BigDecimal` formatting. [Future.State](https://developer.android.com/reference/java/util/concurrent/Future.State) Represents the computation state. [GradientDrawable.Orientation](https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.Orientation) Controls how the gradient is oriented relative to the drawable's bounds [HijrahEra](https://developer.android.com/reference/java/time/chrono/HijrahEra) An era in the Hijrah calendar system. [IDNA.Error](https://developer.android.com/reference/android/icu/text/IDNA.Error) IDNA error bit set values. [ImageView.ScaleType](https://developer.android.com/reference/android/widget/ImageView.ScaleType) Options for scaling the bounds of an image to the bounds of this view. [Interpolator.Result](https://developer.android.com/reference/android/graphics/Interpolator.Result) [IslamicCalendar.CalculationType](https://developer.android.com/reference/android/icu/util/IslamicCalendar.CalculationType) enumeration of available calendar calculation types [IsoEra](https://developer.android.com/reference/java/time/chrono/IsoEra) An era in the ISO calendar system. [JsonToken](https://developer.android.com/reference/android/util/JsonToken) A structure, name or value type in a JSON-encoded string. [KeyRep.Type](https://developer.android.com/reference/java/security/KeyRep.Type) Key type. [Layout.Alignment](https://developer.android.com/reference/android/text/Layout.Alignment) [LinkOption](https://developer.android.com/reference/java/nio/file/LinkOption) Defines the options as to how symbolic links are handled. [ListFormatter.Type](https://developer.android.com/reference/android/icu/text/ListFormatter.Type) Type of meaning expressed by the list. [ListFormatter.Width](https://developer.android.com/reference/android/icu/text/ListFormatter.Width) Verbosity level of the list patterns. [LocalSocketAddress.Namespace](https://developer.android.com/reference/android/net/LocalSocketAddress.Namespace) The namespace that this address exists in. [Locale.Category](https://developer.android.com/reference/java/util/Locale.Category) Enum for locale categories. [Locale.FilteringMode](https://developer.android.com/reference/java/util/Locale.FilteringMode) This enum provides constants to select a filtering mode for locale matching. [Locale.IsoCountryCode](https://developer.android.com/reference/java/util/Locale.IsoCountryCode) Enum for specifying the type defined in ISO 3166. [LocaleDisplayNames.DialectHandling](https://developer.android.com/reference/android/icu/text/LocaleDisplayNames.DialectHandling) Enum used in `https://developer.android.com/reference/android/icu/text/LocaleDisplayNames#getInstance(android.icu.util.ULocale,%20android.icu.text.LocaleDisplayNames.DialectHandling)`. [Matrix.ScaleToFit](https://developer.android.com/reference/android/graphics/Matrix.ScaleToFit) Controls how the src rect should align into the dst rect for setRectToRect(). [MeasureFormat.FormatWidth](https://developer.android.com/reference/android/icu/text/MeasureFormat.FormatWidth) Formatting width enum. [MeasureUnit.Complexity](https://developer.android.com/reference/android/icu/util/MeasureUnit.Complexity) Enumeration for unit complexity. [MeasureUnit.MeasurePrefix](https://developer.android.com/reference/android/icu/util/MeasureUnit.MeasurePrefix) Enumeration for SI and binary prefixes, e.g. "kilo-", "nano-", "mebi-". [MessagePattern.ApostropheMode](https://developer.android.com/reference/android/icu/text/MessagePattern.ApostropheMode) Mode for when an apostrophe starts quoted literal text for MessageFormat output. [MessagePattern.ArgType](https://developer.android.com/reference/android/icu/text/MessagePattern.ArgType) Argument type constants. [MessagePattern.Part.Type](https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type) Part type constants. [MinguoEra](https://developer.android.com/reference/java/time/chrono/MinguoEra) An era in the Minguo calendar system. [Month](https://developer.android.com/reference/java/time/Month) A month-of-year, such as 'July'. [NetworkInfo.DetailedState](https://developer.android.com/reference/android/net/NetworkInfo.DetailedState) *This enum was deprecated
in API level 29.
See `https://developer.android.com/reference/android/net/NetworkInfo`.* [NetworkInfo.State](https://developer.android.com/reference/android/net/NetworkInfo.State) *This enum was deprecated
in API level 29.
See `https://developer.android.com/reference/android/net/NetworkInfo`.* [Normalizer.Form](https://developer.android.com/reference/java/text/Normalizer.Form) This enum provides constants of the four Unicode normalization forms that are described in [Unicode Standard Annex #15 --- Unicode Normalization Forms](https://www.unicode.org/reports/tr15/) and two methods to access them. [Normalizer2.Mode](https://developer.android.com/reference/android/icu/text/Normalizer2.Mode) Constants for normalization modes. [NumberFormatter.DecimalSeparatorDisplay](https://developer.android.com/reference/android/icu/number/NumberFormatter.DecimalSeparatorDisplay) An enum declaring how to render the decimal separator. [NumberFormatter.GroupingStrategy](https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy) An enum declaring the strategy for when and how to display grouping separators (i.e., the separator, often a comma or period, after every 2-3 powers of ten). [NumberFormatter.RoundingPriority](https://developer.android.com/reference/android/icu/number/NumberFormatter.RoundingPriority) An enum declaring how to resolve conflicts between maximum fraction digits and maximum significant digits. [NumberFormatter.SignDisplay](https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay) An enum declaring how to denote positive and negative numbers. [NumberFormatter.TrailingZeroDisplay](https://developer.android.com/reference/android/icu/number/NumberFormatter.TrailingZeroDisplay) An enum declaring how to render trailing zeros. [NumberFormatter.UnitWidth](https://developer.android.com/reference/android/icu/number/NumberFormatter.UnitWidth) An enum declaring how to render units, including currencies. [NumberRangeFormatter.RangeCollapse](https://developer.android.com/reference/android/icu/number/NumberRangeFormatter.RangeCollapse) Defines how to merge fields that are identical across the range sign. [NumberRangeFormatter.RangeIdentityFallback](https://developer.android.com/reference/android/icu/number/NumberRangeFormatter.RangeIdentityFallback) Defines the behavior when the two numbers in the range are identical after rounding. [NumberRangeFormatter.RangeIdentityResult](https://developer.android.com/reference/android/icu/number/NumberRangeFormatter.RangeIdentityResult) Used in the result class FormattedNumberRange to indicate to the user whether the numbers formatted in the range were equal or not, and whether or not the identity fallback was applied. [NumericShaper.Range](https://developer.android.com/reference/java/awt/font/NumericShaper.Range) A `NumericShaper.Range` represents a Unicode range of a script having its own decimal digits. [PKIXReason](https://developer.android.com/reference/java/security/cert/PKIXReason) The `PKIXReason` enumerates the potential PKIX-specific reasons that an X.509 certification path may be invalid according to the PKIX (RFC 5280) standard. [PKIXRevocationChecker.Option](https://developer.android.com/reference/java/security/cert/PKIXRevocationChecker.Option) Various revocation options that can be specified for the revocation checking mechanism. [Paint.Align](https://developer.android.com/reference/android/graphics/Paint.Align) Align specifies how drawText aligns its text relative to the \[x,y\] coordinates. [Paint.Cap](https://developer.android.com/reference/android/graphics/Paint.Cap) The Cap specifies the treatment for the beginning and ending of stroked lines and paths. [Paint.Join](https://developer.android.com/reference/android/graphics/Paint.Join) The Join specifies the treatment where lines and curve segments join on a stroked path. [Paint.Style](https://developer.android.com/reference/android/graphics/Paint.Style) The Style specifies if the primitive being drawn is filled, stroked, or both (in the same color). [Path.Direction](https://developer.android.com/reference/android/graphics/Path.Direction) Specifies how closed shapes (e.g. rects, ovals) are oriented when they are added to a path. [Path.FillType](https://developer.android.com/reference/android/graphics/Path.FillType) Enum for the ways a path may be filled. [Path.Op](https://developer.android.com/reference/android/graphics/Path.Op) The logical operations that can be performed when combining two paths. [PathDashPathEffect.Style](https://developer.android.com/reference/android/graphics/PathDashPathEffect.Style) [PluralRules.PluralType](https://developer.android.com/reference/android/icu/text/PluralRules.PluralType) Type of plurals and PluralRules. [PorterDuff.Mode](https://developer.android.com/reference/android/graphics/PorterDuff.Mode)

The name of the parent class is an homage to the work of Thomas Porter and
Tom Duff, presented in their seminal 1984 paper titled "Compositing Digital Images".


[PosixFilePermission](https://developer.android.com/reference/java/nio/file/attribute/PosixFilePermission) Defines the bits for use with the `https://developer.android.com/reference/java/nio/file/attribute/PosixFileAttributes#permissions()` attribute. [ProcessBuilder.Redirect.Type](https://developer.android.com/reference/java/lang/ProcessBuilder.Redirect.Type) The type of a `https://developer.android.com/reference/java/lang/ProcessBuilder.Redirect`. [Proxy.Type](https://developer.android.com/reference/java/net/Proxy.Type) Represents the proxy type. [Region.Op](https://developer.android.com/reference/android/graphics/Region.Op) [RelativeDateTimeFormatter.AbsoluteUnit](https://developer.android.com/reference/android/icu/text/RelativeDateTimeFormatter.AbsoluteUnit) Represents an absolute unit. [RelativeDateTimeFormatter.Direction](https://developer.android.com/reference/android/icu/text/RelativeDateTimeFormatter.Direction) Represents a direction for an absolute unit e.g "Next Tuesday" or "Last Tuesday" [RelativeDateTimeFormatter.RelativeDateTimeUnit](https://developer.android.com/reference/android/icu/text/RelativeDateTimeFormatter.RelativeDateTimeUnit) Represents the unit for formatting a relative date. [RelativeDateTimeFormatter.RelativeUnit](https://developer.android.com/reference/android/icu/text/RelativeDateTimeFormatter.RelativeUnit) Represents the unit for formatting a relative date. [RelativeDateTimeFormatter.Style](https://developer.android.com/reference/android/icu/text/RelativeDateTimeFormatter.Style) The formatting style [RenderScript.ContextType](https://developer.android.com/reference/android/renderscript/RenderScript.ContextType) ContextType specifies the specific type of context to be created. [RenderScript.Priority](https://developer.android.com/reference/android/renderscript/RenderScript.Priority) RenderScript worker thread priority enumeration. [ResolverStyle](https://developer.android.com/reference/java/time/format/ResolverStyle) Enumeration of different ways to resolve dates and times. [RetentionPolicy](https://developer.android.com/reference/java/lang/annotation/RetentionPolicy) Annotation retention policy. [RoundingMode](https://developer.android.com/reference/java/math/RoundingMode) Specifies a *rounding policy* for numerical operations capable of discarding precision. [RowIdLifetime](https://developer.android.com/reference/java/sql/RowIdLifetime) Enumeration for RowId life-time values. [SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus) An `SSLEngineResult` enum describing the current handshaking state of this `SSLEngine`. [SSLEngineResult.Status](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.Status) An `SSLEngineResult` enum describing the overall result of the `SSLEngine` operation. [Sampler.Value](https://developer.android.com/reference/android/renderscript/Sampler.Value) [SearchIterator.ElementComparisonType](https://developer.android.com/reference/android/icu/text/SearchIterator.ElementComparisonType) Option to control how collation elements are compared. [Shader.TileMode](https://developer.android.com/reference/android/graphics/Shader.TileMode) [SignStyle](https://developer.android.com/reference/java/time/format/SignStyle) Enumeration of ways to handle the positive/negative sign. [SmsMessage.MessageClass](https://developer.android.com/reference/android/telephony/SmsMessage.MessageClass) SMS Class enumeration. [StackWalker.Option](https://developer.android.com/reference/java/lang/StackWalker.Option) Stack walker option to configure the [stack frame](https://developer.android.com/reference/java/lang/StackWalker.StackFrame) information obtained by a `StackWalker`. [StandardCopyOption](https://developer.android.com/reference/java/nio/file/StandardCopyOption) Defines the standard copy options. [StandardOpenOption](https://developer.android.com/reference/java/nio/file/StandardOpenOption) Defines the standard open options. [StandardProtocolFamily](https://developer.android.com/reference/java/net/StandardProtocolFamily) Defines the standard families of communication protocols. [SupplicantState](https://developer.android.com/reference/android/net/wifi/SupplicantState) From `defs.h` in `wpa_supplicant`. [TextKeyListener.Capitalize](https://developer.android.com/reference/android/text/method/TextKeyListener.Capitalize) [TextStyle](https://developer.android.com/reference/java/time/format/TextStyle) Enumeration of the style of text formatting and parsing. [TextUtils.TruncateAt](https://developer.android.com/reference/android/text/TextUtils.TruncateAt) [TextView.BufferType](https://developer.android.com/reference/android/widget/TextView.BufferType) Type of the text buffer that defines the characteristics of the text such as static, styleable, or editable. [ThaiBuddhistEra](https://developer.android.com/reference/java/time/chrono/ThaiBuddhistEra) An era in the Thai Buddhist calendar system. [Thread.State](https://developer.android.com/reference/java/lang/Thread.State) A thread state. [TimeUnit](https://developer.android.com/reference/java/util/concurrent/TimeUnit) A `TimeUnit` represents time durations at a given unit of granularity and provides utility methods to convert across units, and to perform timing and delay operations in these units. [TimeZone.SystemTimeZoneType](https://developer.android.com/reference/android/icu/util/TimeZone.SystemTimeZoneType) **\[icu\]** System time zone type constants used by filtering zones in `https://developer.android.com/reference/android/icu/util/TimeZone#getAvailableIDs(android.icu.util.TimeZone.SystemTimeZoneType,%20java.lang.String,%20java.lang.Integer)` [TimeZoneFormat.GMTOffsetPatternType](https://developer.android.com/reference/android/icu/text/TimeZoneFormat.GMTOffsetPatternType) Offset pattern type enum. [TimeZoneFormat.ParseOption](https://developer.android.com/reference/android/icu/text/TimeZoneFormat.ParseOption) Parse option enum, used for specifying optional parse behavior. [TimeZoneFormat.Style](https://developer.android.com/reference/android/icu/text/TimeZoneFormat.Style) Time zone display format style enum used by format/parse APIs in `TimeZoneFormat`. [TimeZoneFormat.TimeType](https://developer.android.com/reference/android/icu/text/TimeZoneFormat.TimeType) Time type enum used for receiving time type (standard time, daylight time or unknown) in `TimeZoneFormat` APIs. [TimeZoneNames.NameType](https://developer.android.com/reference/android/icu/text/TimeZoneNames.NameType) Time zone display name types [Type.CubemapFace](https://developer.android.com/reference/android/renderscript/Type.CubemapFace) [UCharacter.IdentifierType](https://developer.android.com/reference/android/icu/lang/UCharacter.IdentifierType) Identifier Type constants. [ULocale.AvailableType](https://developer.android.com/reference/android/icu/util/ULocale.AvailableType) Types for `https://developer.android.com/reference/android/icu/util/ULocale#getAvailableLocalesByType(android.icu.util.ULocale.AvailableType)` [ULocale.Category](https://developer.android.com/reference/android/icu/util/ULocale.Category) Enum for locale categories. [UScript.ScriptUsage](https://developer.android.com/reference/android/icu/lang/UScript.ScriptUsage) Script usage constants. [UnicodeSet.ComparisonStyle](https://developer.android.com/reference/android/icu/text/UnicodeSet.ComparisonStyle) Comparison style enums used by `https://developer.android.com/reference/android/icu/text/UnicodeSet#compareTo(android.icu.text.UnicodeSet,%20android.icu.text.UnicodeSet.ComparisonStyle)`. [UnicodeSet.SpanCondition](https://developer.android.com/reference/android/icu/text/UnicodeSet.SpanCondition) Argument values for whether span() and similar functions continue while the current character is contained vs. [UnicodeSetSpanner.CountMethod](https://developer.android.com/reference/android/icu/text/UnicodeSetSpanner.CountMethod) Options for replaceFrom and countIn to control how to treat each matched span. [UnicodeSetSpanner.TrimOption](https://developer.android.com/reference/android/icu/text/UnicodeSetSpanner.TrimOption) Options for the trim() method [VarHandle.AccessMode](https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode) The set of access modes that specify how a variable, referenced by a VarHandle, is accessed. [ViewDebug.HierarchyTraceType](https://developer.android.com/reference/android/view/ViewDebug.HierarchyTraceType) *This enum was deprecated
in API level 16.
This enum is now unused* [ViewDebug.RecyclerTraceType](https://developer.android.com/reference/android/view/ViewDebug.RecyclerTraceType) *This enum was deprecated
in API level 16.
This enum is now unused* [WebSettings.LayoutAlgorithm](https://developer.android.com/reference/android/webkit/WebSettings.LayoutAlgorithm) Enum for controlling the layout of html. [WebSettings.PluginState](https://developer.android.com/reference/android/webkit/WebSettings.PluginState) The plugin state effects how plugins are treated on a page. [WebSettings.RenderPriority](https://developer.android.com/reference/android/webkit/WebSettings.RenderPriority) [WebSettings.TextSize](https://developer.android.com/reference/android/webkit/WebSettings.TextSize) *This enum was deprecated
in API level 15.
Use `https://developer.android.com/reference/android/webkit/WebSettings#setTextZoom(int)` and `https://developer.android.com/reference/android/webkit/WebSettings#getTextZoom()` instead.* [WebSettings.ZoomDensity](https://developer.android.com/reference/android/webkit/WebSettings.ZoomDensity) Enum for specifying the WebView's desired density. [Xml.Encoding](https://developer.android.com/reference/android/util/Xml.Encoding) Supported character encodings. [ZoneOffsetTransitionRule.TimeDefinition](https://developer.android.com/reference/java/time/zone/ZoneOffsetTransitionRule.TimeDefinition) A definition of the way a local time can be converted to the actual transition date-time.   

*** ** * ** ***

This is the common base class of all Java language enumeration classes.

More information about enums, including descriptions of the
implicitly declared methods synthesized by the compiler, can be
found in section {@jls 8.9} of The Java Language Specification.

Enumeration classes are all serializable and receive special handling
by the serialization mechanism. The serialized representation used
for enum constants cannot be customized. Declarations of methods
and fields that would otherwise interact with serialization are
ignored, including `serialVersionUID`; see the Java Object Serialization Specification for details.

Note that when using an enumeration type as the type of a set
or as the type of the keys in a map, specialized and efficient
[set](https://developer.android.com/reference/java/util/EnumSet) and [map](https://developer.android.com/reference/java/util/EnumMap) implementations are available.
**See also:**

- `https://developer.android.com/reference/java/lang/Class#getEnumConstants()`
- `https://developer.android.com/reference/java/util/EnumSet`
- `https://developer.android.com/reference/java/util/EnumMap`

## Summary

| ### Protected constructors ||
|---|---|
| ` https://developer.android.com/reference/java/lang/Enum#Enum(java.lang.String,%20int)(https://developer.android.com/reference/java/lang/String name, int ordinal) ` Sole constructor. |

| ### Public methods ||
|---|---|
| ` final int` | ` https://developer.android.com/reference/java/lang/Enum#compareTo(E)(E o) ` Compares this enum with the specified object for order. |
| ` final boolean` | ` https://developer.android.com/reference/java/lang/Enum#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object other) ` Returns true if the specified object is equal to this enum constant. |
| ` final https://developer.android.com/reference/java/lang/Class<E>` | ` https://developer.android.com/reference/java/lang/Enum#getDeclaringClass()() ` Returns the Class object corresponding to this enum constant's enum type. |
| ` final int` | ` https://developer.android.com/reference/java/lang/Enum#hashCode()() ` Returns a hash code for this enum constant. |
| ` final https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Enum#name()() ` Returns the name of this enum constant, exactly as declared in its enum declaration. |
| ` final int` | ` https://developer.android.com/reference/java/lang/Enum#ordinal()() ` Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero). |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Enum#toString()() ` Returns the name of this enum constant, as contained in the declaration. |
| ` static <T extends https://developer.android.com/reference/java/lang/Enum<T>> T` | ` https://developer.android.com/reference/java/lang/Enum#valueOf(java.lang.Class<T>,%20java.lang.String)(https://developer.android.com/reference/java/lang/Class<T> enumClass, https://developer.android.com/reference/java/lang/String name) ` Returns the enum constant of the specified enum class with the specified name. |

| ### Protected methods ||
|---|---|
| ` final https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Enum#clone()() ` Throws CloneNotSupportedException. |
| ` final void` | ` https://developer.android.com/reference/java/lang/Enum#finalize()() ` enum classes cannot have finalize methods. |

### Inherited methods

From class `

https://developer.android.com/reference/java/lang/Object

` `


https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Object#clone()()
`

Creates and returns a copy of this object.


`


boolean` `
https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj)
`

Indicates whether some other object is "equal to" this one.


`


void` `
https://developer.android.com/reference/java/lang/Object#finalize()()
`

Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.


`


final

https://developer.android.com/reference/java/lang/Class<?>` `
https://developer.android.com/reference/java/lang/Object#getClass()()
`

Returns the runtime class of this `Object`.


`


int` `
https://developer.android.com/reference/java/lang/Object#hashCode()()
`

Returns a hash code value for the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notify()()
`

Wakes up a single thread that is waiting on this object's
monitor.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notifyAll()()
`

Wakes up all threads that are waiting on this object's monitor.


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Object#toString()()
`

Returns a string representation of the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait()()
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*.


From interface `

https://developer.android.com/reference/java/lang/Comparable

` `
abstract


int` `
https://developer.android.com/reference/java/lang/Comparable#compareTo(T)(E o)
`

Compares this object with the specified object for order.


## Protected constructors

### Enum

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected Enum (String name, 
                int ordinal)
```

Sole constructor. Programmers cannot invoke this constructor.
It is for use by code emitted by the compiler in response to
enum class declarations.

<br />

| Parameters ||
|---|---|
| `name` | `String`: - The name of this enum constant, which is the identifier used to declare it. <br /> |
| `ordinal` | `int`: - The ordinal of this enumeration constant (its position in the enum declaration, where the initial constant is assigned an ordinal of zero). <br /> |

## Public methods

### compareTo

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final int compareTo (E o)
```

Compares this enum with the specified object for order. Returns a
negative integer, zero, or a positive integer as this object is less
than, equal to, or greater than the specified object.

Enum constants are only comparable to other enum constants of the
same enum type. The natural order implemented by this
method is the order in which the constants are declared.

<br />

| Parameters ||
|---|---|
| `o` | `E` <br /> |

| Returns ||
|---|---|
| `int` | <br /> |

### equals

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final boolean equals (Object other)
```

Returns true if the specified object is equal to this
enum constant.

<br />

| Parameters ||
|---|---|
| `other` | `Object`: the object to be compared for equality with this object. <br /> |

| Returns ||
|---|---|
| `boolean` | true if the specified object is equal to this enum constant. <br /> |

### getDeclaringClass

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final Class<E> getDeclaringClass ()
```

Returns the Class object corresponding to this enum constant's
enum type. Two enum constants e1 and e2 are of the
same enum type if and only if
e1.getDeclaringClass() == e2.getDeclaringClass().
(The value returned by this method may differ from the one returned
by the `https://developer.android.com/reference/java/lang/Object#getClass()` method for enum constants with
constant-specific class bodies.)

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Class<E>` | the Class object corresponding to this enum constant's enum type <br /> |

### hashCode

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final int hashCode ()
```

Returns a hash code for this enum constant.

<br />

| Returns ||
|---|---|
| `int` | a hash code for this enum constant. <br /> |

### name

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final String name ()
```

Returns the name of this enum constant, exactly as declared in its
enum declaration.

**Most programmers should use the `https://developer.android.com/reference/java/lang/Enum#toString()` method in
preference to this one, as the toString method may return
a more user-friendly name.** This method is designed primarily for
use in specialized situations where correctness depends on getting the
exact name, which will not vary from release to release.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the name of this enum constant <br /> |

### ordinal

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final int ordinal ()
```

Returns the ordinal of this enumeration constant (its position
in its enum declaration, where the initial constant is assigned
an ordinal of zero).

Most programmers will have no use for this method. It is
designed for use by sophisticated enum-based data structures, such
as `https://developer.android.com/reference/java/util/EnumSet` and `https://developer.android.com/reference/java/util/EnumMap`.

<br />

| Returns ||
|---|---|
| `int` | the ordinal of this enumeration constant <br /> |

### toString

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String toString ()
```

Returns the name of this enum constant, as contained in the
declaration. This method may be overridden, though it typically
isn't necessary or desirable. An enum class should override this
method when a more "programmer-friendly" string form exists.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the name of this enum constant <br /> |

### valueOf

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static T valueOf (Class<T> enumClass, 
                String name)
```

Returns the enum constant of the specified enum class with the
specified name. The name must match exactly an identifier used
to declare an enum constant in this class. (Extraneous whitespace
characters are not permitted.)

Note that for a particular enum class `T`, the
implicitly declared `public static T valueOf(String)`
method on that enum may be used instead of this method to map
from a name to the corresponding enum constant. All the
constants of an enum class can be obtained by calling the
implicit `public static T[] values()` method of that
class.

<br />

| Parameters ||
|---|---|
| `enumClass` | `Class`: the `Class` object of the enum class from which to return a constant <br /> |
| `name` | `String`: the name of the constant to return <br /> |

| Returns ||
|---|---|
| `T` | the enum constant of the specified enum class with the specified name <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if the specified enum class has no constant with the specified name, or the specified class object does not represent an enum class |
| `https://developer.android.com/reference/java/lang/NullPointerException` | if `enumClass` or `name` is null |

## Protected methods

### clone

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected final Object clone ()
```

Throws CloneNotSupportedException. This guarantees that enums
are never cloned, which is necessary to preserve their "singleton"
status.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | (never returns) <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/CloneNotSupportedException` |   |

### finalize

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected final void finalize ()
```

enum classes cannot have finalize methods.

<br />