Tag: enums

Java Enum可以有行为吗?

在Java中,Enum可以完成Enums所做的伟大事情,但也可以拥有方法(行为和逻辑)。 与使用枚举的类相比,它有什么优势? 举例说明这一点也很受欢迎。

如何将带有重写的toString()的枚举的字符串结果转换回枚举?

给出以下java枚举: public enum AgeRange { A18TO23 { public String toString() { return “18 – 23”; } }, A24TO29 { public String toString() { return “24 – 29”; } }, A30TO35 { public String toString() { return “30 – 35”; } }, } 有没有办法将字符串值“18 – 23”转换为相应的枚举值,即AgeRange.A18TO23? 谢谢!

Postgresql枚举和Java枚举之间的Hibernate映射

背景 Spring 3.x,JPA 2.0,Hibernate 4.x,Postgresql 9.x. 使用我要映射到Postgresql枚举的枚举属性处理Hibernate映射类。 问题 在枚举列上使用where子句进行查询会引发exception。 org.hibernate.exception.SQLGrammarException: could not extract ResultSet … Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: movedirection = bytea Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts. 代码(大大简化) SQL: create type movedirection as enum ( ‘FORWARD’, ‘LEFT’ ); […]

从用户获取颜色作为字符串并在接受枚举值的方法中使用它?

如何从用户获取颜色作为String并在接受Color enum值的方法中使用它? 想法是获取用户选择的颜色并将值传递(或以任何其他方式处理情境)到方法element.setBackground(java.awt.Color) 。

如何在Java代码和.proto文件之间共享枚举值

我有一个class级,我希望protobuf。 在该类中,其中一个字段是一个枚举(在它自己的类中)。 我可以避免在.proto文件中定义相同的枚举值吗? 或者我是否必须手动确保java代码中的枚举定义与.proto文件中的枚举定义相同? java代码: public enum Location { UNDEF(0),HOME(1), WORK(2); … } .proto文件对应的代码: message Address{ enum location { UNDEF = 0; HOME = 1; WORK = 2; } optional location addressLocation; … }

有效地将java字符串转换为其等效的枚举

给定一个字符串我想在恒定时间内获得它的枚举。 我有一个定义类似于问题所示的枚举。 创建字符串枚举的最佳方法? public enum Strings { STRING_ONE(“ONE”), STRING_TWO(“TWO”) ; private final String text; /** * @param text */ private Strings(final String text) { this.text = text; } /* (non-Javadoc) * @see java.lang.Enum#toString() */ @Override public String toString() { return text; } } 如果我现在得到一个字符串(说“TWO”),有没有办法看看它是否存在,如果它存在,那么有一种方法可以定义一个将返回枚举值的方法(例如,如果我通过“TWO” “,我应该回来”Strings.STRING_TWO“?

使用带有枚举的

我有一个JSP portlet需要根据bean属性的值显示不同的标记,该属性是枚举类型 public enum State { CANCELED, COMPLETED } 我使用以下代码进行切换 但它不起作用。 有趣的是,它在两种情况下都返回false。 item对象(在ICEFaces数据表中)是一个带有State getter + setter属性的辅助bean。 我被告知要将枚举与字符串进行比较并使用==运算符,但也许这不是方法。 所以,我的问题是:我如何使用<c:when> 用于将属性与枚举值进行比较的标记?

从JSP提交按钮获取枚举值到struts2动作类

我有一个枚举类如下 public enum Foo { A(“a”), B(“b”), UNDEFINED(“UnDefined”); private String foo; foo(String foo) { this.foo = foo; } public foo safeValueOf(String foo) { for (Foo value : values()) { if (value.name().equalsIgnoreCase(foo)) { return value; } } return UNDEFINED; } public String getFoo() { return foo; } } 并在Action类中调用此枚举。 我有一个JSP有2个按钮。 代码如下 Javascript代码是: function chooseTreatment(value){ alert(value+document.getElementById(“fooval”).value); } […]

CXF没有生成枚举映射?

我正在用wsdl文件生成带有CXF (wsdl2java)的类,但是一个枚举仅映射到一个String 。 如果我打开生成的类,这是wsdl片段: 为什么结果是String ,而不是Enum ? 这是自动生成的结果: private String type; public String getType() { return type; } public void setType(String value) { this.type = value; } 更新:自定义绑定文件:

如何在具有枚举字段的实体上使用JPA CriteriaQuery填充DTO类字符串字段?

我正在使用JPA Criteria API,在我的查询多选中我想要检索枚举属性,而不是枚举本身。 这是我的查询: final CriteriaQuery query = builder.createQuery(MyClassDTO.class); 在MyClassDTO我有4个字段如下: private String icon; private String provenance; private int sizeX; private int sizeY; 我从中检索数据的路径是: final Root from = query.from(MyClass.class); MyClass有3个字段: @Column @Enumerated(EnumType.STRING) private EnumTileIcon enumTileIcon; @Column @Enumerated(EnumType.STRING) private EnumProvenance enumProvenance; @Column @Enumerated(EnumType.STRING) private EnumSize enumSize; 我想要做的是使用query.multiselect填充query.multiselect ,如下所示: query.multiselect( from.get(MyClass_.enumTileIcon.toString()), from.get(MyClass_.enumProvenance.name()), from.get(MyClass_.enumSize.getWidth()), from.get(MyClass_.enumSize.getHeight()) ); 我怎么解决这个问题?