Font.PLAIN是
不是 一个枚举。这只是一个
int。如果需要从枚举中取出值,则无法避免调用方法或使用
.value,因为枚举实际上是其自身类型的对象,而不是基元。
如果您确实只需要一个
int, 并且 已经接受了类型安全性的丢失,则用户可以将无效值传递给您的API,您 还可以 将这些常量定义为
int:
public final class DownloadType { public static final int AUDIO = 0; public static final int VIDEO = 1; public static final int AUDIO_AND_VIDEO = 2; // If you have only static members and want to simulate a static // class in Java, then you can make the constructor private. private DownloadType() {}}顺便说一句,该
value字段实际上是多余的,因为还有一个
.ordinal()方法,因此可以将
enumas 定义为:
enum DownloadType { AUDIO, VIDEO, AUDIO_AND_VIDEO }并使用
DownloadType.AUDIO_AND_VIDEO.ordinal()
编辑 :更正了代码。.
staticclass在Java中是不允许的。请参阅此SO答案,其中包含有关如何在Java中定义静态类的说明和详细信息。



