草庐IT

java - 将字符串转换为 Enum 类

免责声明:我不会说我是最有经验的Java人。可能有更简单的方法来完成示例中的操作。但这是一个关于将字符串条目转换为枚举类而不是枚举变量的问题。我已尽力解释。这是我想做的事情的简单版本。我将有两个不同的枚举,我想根据用户的需求选择一个或另一个。在代码中,这方面的例子是publicenumLetters{A,B,C,D,E,...,X,Y,Z}publicenumNumbers{ONE,TWO,THREE,...,EIGHT,NINE,TEN}publicstaticvoidmain(String[]args){System.out.println("Enterinyouchoice,le

java - Spring Data JPA 方法 + REST : Enum to Integer conversion

我有一个端点:/api/offers/search/findByType?type=X哪里X应该是Integer值(我的OfferType实例的序数值),而Spring考虑X一个String并将应用其StringToEnumConverterFactory与StringToEnum转换器。publicinterfaceOfferRepositoryextendsPagingAndSortingRepository{ListfindByType(@Param("type")OfferTypetype);}所以我写了一个自定义Converter它只是通过给定的序号获得一个实例:public

java - 查找 String 是否不在 ENUM 列表中的最佳方法

这个问题在这里已经有了答案:Java:Checkifenumcontainsagivenstring?(32个答案)关闭3年前。我需要查找给定的String是否不在ENUMs列表中。这些字符串返回时带有空格,例如:“CHILDCARE”、“CREDITCARDS”等...任何其他ExpenseType都应映射到OTHER,HOA除外。HOA应该被完全忽略。我的ENUM如下:publicenumExpenseType{AUTOLOAN("AUTOLOAN"),ALIMONY("ALIMONY"),CHILDCARE("CHILDCARE"),CREDITCARDS("CREDITCARD

Java:获取 ENUM 元素的数组

是否有更好的方法从枚举的元素创建数组:publicstaticenumLOGICAL{AND("&","AND"),OR("||","OR");publicfinalStringsymbol;publicfinalStringlabel;LOGICAL(Stringsymbol,Stringlabel){this.symbol=symbol;this.label=label;}}publicstaticfinalString[]LOGICAL_NAMES=newString[LOGICAL.values().length];static{for(inti=0;i

java - 为什么在 Enum hashCode() 中引用 Object hashCode() 实现,而不是 ordinal() 函数?

这个问题在这里已经有了答案:WhatisthereasonbehindEnum.hashCode()?(7个答案)关闭9年前。我一直认为enumhashCode指的是Java中的ordinal,因为ordinal似乎是hashCode的完美候选者,但事实证明enumhashCode实际上是指默认的hashCode对象实现。我明白,这与JLS并不矛盾,但这仍然让我感到惊讶,我想不出为什么要这样做。虽然我猜想JVM可能会以某种方式依赖它来提供独特的保证,但这对64位JVM来说不再适用。我已经检查了JDK1.6和最新的JDK7,两者的方式相同。有谁知道为什么会这样吗?使用ordinal作为h

java - 密封违规 : package oracle.net.ns 被密封

我正在尝试使用OracleSQLDeveloper连接到Oracle11gXE数据库。但是,我收到以下异常:java.lang.SecurityException:sealingviolation:packageoracle.jdbc.driverissealed我在网上搜索了答案,但没有找到解决方案。是什么原因造成的,我该如何解决? 最佳答案 来自Oracle的文档:KnownIssuesandLimitations:java.lang.SecurityException:Sealingviolationexception(ID6

java - 如何获取泛型中 "enum"的值?

如何获取泛型中“枚举”的值?publicclassSorter>{publicSorter(){T[]result=T.values();//另一方面,我可以查询枚举类的values():enumTmpEnum{A,B}publicclassTmp{voidfunc(){T[]result=TmpEnum.values();// 最佳答案 Class::getEnumConstants您不能直接从T获取它因为泛型是erased由Java编译器提供,因此在运行时不再知道是什么T是。您可以做的是要求Class对象作为构造函数参数。从那里

java - 如何使用 Spring 获取 Enum 的值

这是我以前用来设置com.abc类名称的方法。现在,名称应该来自另一个枚举。如何访问枚举值以设置类com.abc的名称属性? 最佳答案 我不明白你为什么不能继续使用FieldRetrievingFactoryBean,这就是它的用途。不过,它比您的示例所建议的更容易使用。此外,还有更简单的基于模式的语法可以做同样的事情,.这两种方法都有记录(并进行了比较)here.(记住枚举值只是枚举类的静态字段) 关于java-如何使用Spring获取Enum的值,我们在StackOverflow上找

Java:特定枚举和通用 Enum<?> 参数

我想将任何枚举值传递给实用程序类中的方法,并获得相同枚举类型的另一个枚举值。像这样:publicclassXMLUtils{publicstaticEnumgetEnumAttribute(Elementelement,Stringname,EnumdefaultValue){if(element.hasAttribute(name)){StringvalueName=element.getAttribute(name);//searchforvaluefor(Enumvalue:defaultValue.getClass().getEnumConstants())if(value.t

java - HQL 中的 Collection.contains(Enum.Value)?

我对如何在HQL中做某事有点困惑。假设我有一个Foo类,我坚持hibernate。它包含一组枚举值,如下所示:publicclassFoo{@CollectionOfElementsprivateSetbarSet=newHashSet();//gettersandsettershere...}和publicenumBar{A,B}是否有一个HQL语句我可以用来只获取barSet包含Bar.B的Foo实例?Listfoos=session.createQuery("fromFooasfoo"+"wherefoo.barSet.contains.Bar.B").list();或者我是否一