Tag: 枚举

在Java枚举中停止重复

我在Java类中有以下enum : public enum Resolution { RES_32 (32), RES_64 (64); private final int asInt; private Resolution(int asInt) { this.asInt = asInt; } }; 我有更多的类需要类似的enum ,具有相同的asInt属性和相同的构造函数,但具有不同的常量。 所以,在另一个类中,我需要以下enum : public enum Resolution { RES_32 (32), RES_64 (64), RES_128 (128); private final int asInt; private Resolution(int asInt) { this.asInt = asInt; } }; 如果这是一个类,我可以使用inheritance来不重复构造函数中的代码(并且可能已经为该asInt属性创建了一个getter)。 每次我需要这样的Resolution enum时,我该怎么做才能停止重复自己? 理想情况下,我只想为每个Resolution指定常量,并保留构造函数和属性。

带有空格的Java枚举元素?

我正在研究java,我创建了一个枚举如下: public enum myEnum { india, russian, england, north America } 上面的示例在元素名称(即北美)中使用空格时会出错。 有任何建议如何解决上述问题?

Java的枚举优于旧的“Typesafe Enum”模式?

在JDK1.5之前的Java中,“Typesafe Enum”模式是实现只能获取有限数量值的类型的常用方法: public class Suit { private final String name; public static final Suit CLUBS =new Suit(“clubs”); public static final Suit DIAMONDS =new Suit(“diamonds”); public static final Suit HEARTS =new Suit(“hearts”); public static final Suit SPADES =new Suit(“spades”); private Suit(String name){ this.name =name; } public String toString(){ return name; } } (参见例如Bloch的Effective Java的第21项)。 现在在JDK1.5 +中,“官方”方式显然是使用enum […]

Java Enum getDeclaringClass vs getClass

Java Enum类的文档说明了以下关于getDeclaringClass : 返回与此枚举常量的枚举类型对应的Class对象。 当且仅当e1.getDeclaringClass()== e2.getDeclaringClass()时,两个枚举常量e1和e2具有相同的枚举类型。 (此方法返回的值可能与Object.getClass()方法返回的值不同,对于具有常量特定类主体的枚举常量。) 我不明白getClass和getDeclaringClass是不同的。 有人可以提供一个例子和解释吗?

无法在Eclipse中编译枚举

在尝试在Eclipse中的Android项目中引入枚举时,我遇到了以下问题:编译器说: 无法解析java.lang.Enum类型。 它是从所需的.class文件间接引用的 Enum类型不是通用的; 它不能用参数参数化 我在Ubuntu 10.04下工作并使用Eclipse v.3.5.2。 试图同时使用Java 6 OpenJDK和Java 6 Sun,但没有成功。 任何人都可以帮我解决这个问题吗? 这是代码: public class MyClass { public MyClass() { } … enum MyEnum { CONST1, CONST2, CONST3; } }

枚举:为什么? 什么时候?

我是一名即将gradle的计算机科学专业的学生,​​在我的编码生涯中,我发现很少有例子,除了用于表示标准牌组面部的规范案例之外。 你知道在日常编码中使用枚举的任何巧妙方法吗? 为什么枚举如此重要,在什么情况下应该能够确定构建枚举是最好的方法?

了解Java中的枚举

什么是java枚举? 他们是如何工作的? 我在哪里可以使用它们以及如何使用 我可以不在应用程序中使用枚举,或者它们是如此强大以至于使用它们比忽略它们更好吗?

通过其内部领域获得枚举

有内场,地图的枚举。 现在我需要通过其内部领域获得枚举。 写道: package test; /** * Test enum to test enum =) */ public enum TestEnum { ONE(1), TWO(2), THREE(3); private int number; TestEnum(int number) { this.number = number; } public TestEnum findByKey(int i) { TestEnum[] testEnums = TestEnum.values(); for (TestEnum testEnum : testEnums) { if (testEnum.number == i) { return testEnum; } } […]

返回Java通用方法的类型

我想知道为什么通过这种方式声明(或可以)声明返回voidgenerics方法: public static void printArray( E[] inputArray ) { // Display array elements for ( E element : inputArray ){ System.out.printf( “%s “, element ); } System.out.println(); } 似乎是返回对象的类型,但该方法实际上没有返回任何内容。 那么在这种情况下具体含义是什么?一般来说,通用方法是什么?

如何从Java中的字符串值获取枚举值?

说我有一个只是的枚举 public enum Blah { A, B, C, D } 我想找到一个字符串的枚举值,例如”A” ,它将是Blah.A 怎么可能这样做? Enum.valueOf()是我需要的方法吗? 如果是这样,我将如何使用它?