Tag: 枚举

如何从Java枚举中获取价值

我有一个看起来像的枚举: public enum Constants{ YES(“y”), NO(“N”) private String value; Constants(String value){ this.value = value; } } 我有一个看起来像的测试类 public class TestConstants{ public static void main(String[] args){ System.out.println(Constants.YES.toString()) System.out.println(Constants.NO.toString()) } } 输出是: YES NO 代替 Y N 我不确定这里有什么问题?

Java数组的常量

如何在不使用enums情况下在Java中声明和初始化常量数组? static final Type[] arrayOfConstants = new Type[10]; // not an array of constants

解释Enum声明中使用的generics

有人可以解释一下这意味着什么吗? Enum<T extends Enum> 这似乎是一个循环定义,我发现至少可以说它非常混乱。

枚举中的方法

所以我很困惑,如果在Java枚举中可以有function。 我正在制作一个简单的html编辑器,并希望使用枚举来表示html标签,是的我知道这不是最好的方法,但它是我的小组决定实现它的方式。 所以我一直试图做这样的事情,但是当我尝试调用TagEnums.normalTags()它建议将其设置为静态方法,我想我想知道这是否正确或是否有更好的方法来实现它公共ArrayList normalTags()成public static ArrayList normalTags() public enum TagEnum { H1, H2, H3, H4, H5, H6, P, B, I, U, BR, HR, RP, RT, RUBY public ArrayList normalTags(){ String normalTags = “H1, H2, H3, H4, H5, H6, P, B, I, U”; ArrayList tags = new ArrayList(); for(Enum currentEnum: TagEnum.values()){ if(normalTags.contains(currentEnum.toString())){ tags.add(“”); tags.add(“”); } } […]

Java:在使用整数常量声明枚举时遇到问题

呃,我对如何在Java中使用枚举感到困惑。 在C#和C ++(我通常使用的)中,这似乎没问题,但是Java想要生我的气。> enum Direction { NORTH_WEST = 0x0C, NORTH = 0x10, NORTH_EAST = 0x14, WEST = 0x18, NONE = 0x20, EAST = 0x28, SOUTH_WEST = 0x24, SOUTH = 0x30, SOUTH_EAST = 0x3C } 有人能告诉我我做错了什么吗? 谢谢 以下是错误: —-jGRASP exec: javac -g Test.java Test.java:79: ‘,’, ‘}’, or ‘;’ expected NORTH_WEST = 0x0C, ^ Test.java:79: ‘}’ expected […]

Java枚举 – 在定义字段之前无法引用该字段

我有一个类似下面的枚举,但是eclipse说每对对方的第一个定义都有错误。 public enum Baz{ yin(yang), //Cannot reference a field before it is defined yang(yin), good(evil), //Cannot reference a field before it is defined evil(good); public final Baz opposite; Baz(Baz opposite){ this.opposite = opposite; } } 我想要完成的是能够使用Baz.something.opposite来获得Baz.something.opposite的相反对象。 这有可能的解决方法吗? 也许在这个例子中定义了yin和good之前的yin和bad的空占位符?

Spring Boot绑定@Value到Enum不区分大小写

枚举 public enum Property { A, AB, ABC; } 领域 @Value(“${custom.property}”) protected Property property; application.properties (小写) custom.property=abc 当我运行应用程序时,我有一个错误: 无法将[java.lang.String]类型的值转换为必需类型[com.xxx.Property]:找不到匹配的编辑器或转换策略。 鉴于(大写): custom.property=ABC 工作良好。 有没有办法绑定值不区分大小写的值? 像ABC , Abc , AbC , abc任何模式都应该有效。 注意:我看到了这个问题 – Spring 3.0 MVC绑定Enums区分大小写,但在我的情况下,我有超过10个枚举/值(并期望有更多)类并实现10种不同的自定义属性绑定器会很痛苦,我需要一些通用的解决方案。

为什么一个类不能扩展枚举?

我想知道为什么在Java语言中一个class不能扩展enum 。 我不是在谈论扩展enum (由于java没有多重inheritance,而且enum隐式地扩展了java.lang.Enum ),因此无法完成enum ,但是按顺序extends enum的类只添加额外的方法,而不是额外的枚举值。 就像是: enum MyEnum { ASD(5), QWE(3), ZXC(7); private int number; private asd(int number) { this.number=number; } public int myMethod() { return this.number; } } class MyClass extends MyEnum { public int anotherMethod() { return this.myMethod()+1; } } 要像这样使用: System.out.println(MyClass.ASD.anotherMethod()); 那么,任何人都可以为此限制提供理由(或指向正确的JLS部分)吗?

在Java中使用ENUMSvalidation值组合的最佳方法是什么?

我通过定义如下的ENUM来validation从DB检索的记录的状态 public enum RecordStatusEnum { CREATED(“CREATED”), INSERTED(“INSERTED”), FAILED(“FAILED”); private String recordStatusValue; RecordStatusEnum (String status) { recordStatusValue= status; } public boolean isSuccess() { return (this.equals(CREATED) || this.equals(INSERTED)); } } 方法isSuccess()用于检查检索到的记录的状态(来自员工的列状态) if (!(employee.getStatus().isSuccess())) { // return error } 根据新要求,有一套条件,如A,B和C; 对于他们来说,Employee表’条件’中有一列。 所以我需要检索状态和条件,看它是否属于具有两者组合的集合。 例如:isSuccess()应检查以下内容: CREATED and A CREATED and B INSERTED and C 必须实现这一点,以便我可以轻松地在列表中添加一个新的组合,例如’INSERTED和B’。 针对上述问题的最佳方法是什么? 注意 :在实际的业务场景中,有许多更多的状态和检查(例如isFailed()canBeModified()等)具有许多不同的组合 即使不使用ENUMS,也可以建议任何方法。 我提到了ENUMS,因为我不想偏离现有的实现

Java枚举扩展了变通方法

有没有比这更好的“解决方法”? 我想在访问TableMap上的方法时避免使用PREFIX(local var)。 public class TableMap extends TreeMap { public String field1, field2, field3; public TableMap(Tables table){} public void method(){} public void method2(){} public void method3(){} … } 解决方法! public enum Tables { table1, table2, table3; public final TableMap MAP=new TableMap(this); private Tables(){} } 需要! public enum Tables extends TableMap { table1, table2, table3; public […]