【Java:不能在switch语句中使用泛型枚举】教程文章相关的互联网学习教程文章

java – 如何为一个枚举设置值?【代码】

我有以下枚举:enum ColumnType {TEXT,NUMERIC,DATE }使用此枚举时,如果使用DATE值,我需要能够指定日期格式字符串.我该怎么办? 例如,在我的代码中,我想使用类似于此的方法调用方法:foo(ColumnType.DATE("yyyyMMdd");稍后,如果ColumnType为DATE,我需要能够使用object.getColumnType.getDateFormat()来检索该值.这甚至可能吗? 到目前为止我能够找到的文档提供了设置枚举值的方法,但它们都显示了如何为所有枚举值设置它,而不是单个...

Java枚举类型:功能

嘿,我是使用Java中的枚举类型来帮助代码可读性和限制无效值的忠实粉丝.但是,有人告诉我,使用枚举可以在Java中完成更多工作,而不仅仅是创建一组命名的可能值. 有人可以列出Java的枚举所允许的基本功能,以及一个示例,或者可能是我可以获得有关该功能的更多信息的位置? 非常感谢,黑菜 编辑:正如所建议的那样,这个问题应该是在Java中枚举和类之间存在哪些差异.我不知道他们那么强大吗?那有什么不同呢?解决方法:枚举和普通类之间的差...

java – 如何获取传递给JNI的枚举值【代码】

我有一个Java应用程序和JNI(DLL).我想知道如何获取作为参数传递给JNI的枚举(int)的值. 这是枚举(Java):public enum envelopeType {NOT_SPECIFIED(-1),NONE(0),IMAGE(1),BITMAP(2);private int value;private envelopeType(int value){this.value = value;} }这是JNI代码(C):JNIEXPORT jint JNICALL Java_Loader_Convert(JNIEnv *env, jobject obj, jobject EnvelopeType)因为枚举是作为一个对象传递的,我怎么能得到它的价值呢...

java – 值方法如何在枚举中工作【代码】

在Enum中value()方法如何工作? values()方法背后的逻辑是什么? 在我的项目中,我们将所有枚举数据缓存在Map中,如下所示:public enum Actions { CREATE("create"), UPDATE("update"), DELETE("delete"), ACTIVE("active"), INACTIVE("inactive"), MANAGE_ORDER("manage"), ;private static Map<String, Actions> actionMap; static {actionMap = new HashMap<String, Actions>(values().length);for(Actions action : values()) {...

java – Android枚举:从整数值以编程方式设置枚举【代码】

我想将java枚举序列化/反序列化为int.我正在使用Android Wear可穿戴数据层API在Wear和Phone设备之间传输枚举设置.这意味着我需要将我的枚举转换为int并以编程方式返回枚举.请注意,我不需要创建新的枚举,只匹配现有的枚举.我担心的是,尽管我可以使用枚举方法轻松设置值,但似乎我可以轻松设置不存在的值.public enum Color {Undefined (0), Red(1), Yellow(2), Blue(3), Green(4), Black(5);private int mValue;private Color(int va...

在java中的容器的枚举【代码】

在Java中我可以这样做:enum Color {RED, BLUE, GREEN };enum Weight {LIGHT, HEAVY }Enum e = Color.RED;assertEquals(Color.RED, e);e = Weight.HEAVY;assertEquals(Weight.HEAVY, e);我可以将枚举放在Map中,但仍然有效:Map<String, Enum> map = Maps.newHashMap();map.put("color", Color.RED);map.put("weight", Weight.HEAVY);assertEquals(Color.RED, map.get("color"));assertEquals(Weight.HEAVY, map.get("weight"));但是...

Java枚举:从其他枚举中收集信息【代码】

我几天前做了一个similar question,但现在我有新的要求,新的挑战=).像往常一样,一旦我不想解释特定领域的东西,我就会将动物枚举用于教学目的 我有一个动物的基本枚举,整个动物园都使用它(我可以添加东西,但必须保持兼容性):public enum Animal {DOG,ELEPHANT,WHALE,SHRIMP,BIRD,GIRAFFE; }我需要将它们归类为几个不相关的类别,如灰色动物(鲸鱼(我的鲸鱼是灰色的)和大象),小动物(鸟,虾和狗),海洋动物(鲸鱼和虾). 我可以像我之前的问...

在Java中,this / super关键字是否可以表示除类/枚举之外的任何内容?【代码】

我注意到了:class A {ClassB b = new ClassB() { // anonymous class/* some expression using this */} }每当我在匿名类中使用this关键字时,this都会引用封闭的外部类/枚举,而不是匿名类. 这是否意味着这永远不能代表一个匿名类?只是“正常”的类和枚举? 此外,这个或超级代表一个接口?解决方法:您关于使用它的说法不正确.当您在匿名类中使用它时,它始终引用匿名类.除非使用OuterClassName.this,否则它永远不会引用封闭的外部类...

java中的枚举声明【代码】

我已经声明了枚举功能如下public static enum SHAPE{static{LINE = new SHAPE("LINE", 3);CIRCLE = new SHAPE("CIRCLE", 4);TEXT = new SHAPE("TEXT", 5);SHAPE[] arrayOfSHAPE = new SHAPE[6];arrayOfSHAPE[0] = DRAW;arrayOfSHAPE[1] = SQUARE;arrayOfSHAPE[2] = TRIANGLE;arrayOfSHAPE[3] = LINE;arrayOfSHAPE[4] = CIRCLE;arrayOfSHAPE[5] = TEXT;}}但我得到了Syntax error, insert "}" to complete Block at line4 and gettin...

java – 将枚举作为值启动【代码】

我想将枚举变量声明为值.我怎样才能做到这一点? 例如:public enum CardSuit {SPADE(0), HEART(1), DIAMOND(2), CLUB(3); }我可以这样声明:CardSuit s = CardSuit.SPADE;我也想这样声明:CardSuit s = 1;这样做的方法是什么?这甚至可能吗?解决方法:我想你想要这样的东西,public static enum CardSuit {SPADE(0), HEART(1), DIAMOND(2), CLUB(3);int value;CardSuit(int v) {this.value = v;}public String toString() {return ...

如何在Java中为枚举值提供实现?【代码】

我有枚举类的值,假设它会随着时间的推移而增长,我希望添加新枚举值的用户也能在某处提供强制作用.但是我不确定如何强迫他们提供实施,因为在其他课程中会有必要.对于例如public enum DayType {SUNDAY,MONDAY; }在课堂上提到class X{ DateType dateType; .. }并用于其他一些课程if (x.getDateType().equals(DayType.SUNDAY)) { ... }else if(x.getDateType().equals(DayType.MONDAY)){ .. }因此,如果有人添加了DateType,那么他应该被...

java – 如何将枚举值传递给构造函数【代码】

protected enum Category { Action, Fiction, Drama, Romance, SciFi, Poems, Kids } 我创建了这个枚举类型,现在我必须为我的类创建一个构造函数.public Book(String title, int code, List<String> authors, String publisher, int year, Category categ){this.title = title;this.code = code;this.authors = authors;this.publisher = publisher;this.year = year;this.category = ....; }我不明白我将如何向构造函数传递枚举类...

java – 枚举在单独的类中【代码】

无论如何将这个测试放在一个单独的课程中?我试过但没有成功.public class TrafficLightprj {public enum TrafficLight { RED(1), GREEN(2), YELLOW(3);private final int duration; TrafficLight(int duration) { this.duration = duration; } public int getDuration() { return this.duration; } public static void main(String[] args) {for(TrafficLight light: TrafficLight.values()){System.out.println("The traffi...

java – 连续生成随机枚举值而不会获得两次相同的值【代码】

我有一个enum团队,我想随机.所以我有:public enum Teams { TEAM1, TEAM2, TEAM3, TEAM4, TEAM5, TEAM6; }然后我有一个随机方法来随机生成值:public static Teams getRandomTeam() {return Teams.values()[(int) (Math.random() * Teams.values().length)]; }这确实会返回一个随机生成的团队,但是我需要,一旦团队生成,比如说TEAM2,它就不能再生成了. 我正在使用:System.out.println("The team is " + getRandomTeam()); System.o...

java – 无法将fom枚举转换为它实现的接口【代码】

我在Java 7中,我有以下枚举:public enum BooleanEnum implements StringRepresentable{YES {@Overridepublic String getStringRepresentation() {return "true";}},NO {@Overridepublic String getStringRepresentation() {return "false";}};public abstract String getStringRepresentation(); }现在我有了方法:List<StringRepresentable> getValues(){return Arrays.asList(BooleanEnum.values()); //Type mismatch: //cannot...