我有一个用于几个域类的描述符类。描述符类有一个字段“type”,它是一个枚举,表示域类的类型。在某些查询中,我想返回一个或多个描述符并将类型作为构造函数参数传递。所以我的想法是将它作为查询参数传递:Stringjpql="SELECTNEWmodel.ModelDescriptor"+"(t.id,t.name,t.description,:modelType)...";TypedQueryquery=em.createQuery(jpql,ModelDescriptor.class);query.setParameter("modelType",ModelType.forClass(
假设我有一个Enum定义如下:publicenumSample{//supposeAClass.getValue()returnsanintA(AClass.getValue()),B(AClass.getValue()),C(AClass.getValue());privateint_value;privateSample(int_val){this._value=_val;}publicintgetVal(){return_value;}我可以使用Sample.A或Sample.A.getAVal()毫无问题地提取值。现在假设AClass.getValue()可以接受一个参数来返回
我正在为用户偏好创建一个商店,用户可以为固定数量的偏好设置值。首选项(设置)的名称存储为枚举:publicenumUserSettingName{FOO,BAR,ETC}我希望能够做的是存储一个带有名称的值类型,以便服务将使用正确的Java类型存储用户的值。例如,FOO可能是Long,而BAR可能是String。到目前为止,我们将所有值存储为String,然后手动将这些值转换为适当的Java类型。这导致到处都是try/catchblock,而在服务中只有一个try/catch更有意义。我知道枚举不能有通用类型,所以我一直在玩:publicenumUserSettingName{FOO(
我有如下所示的简单枚举类。我想知道内存是如何分配给每个常量的(是否为每个常量创建了成员类对象)以及它的范围是什么。publicenumMember{HAPPY("HAPPY"),RAhul("RAhul"),ANSAL("ANSAL");privateStringargument;Member(Stringarguments){System.out.println("EnumConstructorwork");this.argument=arguments;}publicStringgetValue(){returnargument;}} 最佳答案
正如指出的那样herelambda提供了一种非常优雅的方式来指定单个枚举值的行为。在Java8之前,我通常会将其实现为:enumOperator{TIMES{publicintoperate(intn1,intn2){returnn1*n2;}},PLUS{publicintoperate(intn1,intn2){returnn1+n2;}};publicintoperate(intn1,intn2){thrownewAssertionError();}}现在我倾向于使用:enumOperator{TIMES((n1,n2)->n1*n2),PLUS((n1,n2)->n1+n2);
在TypeScript中,是否可以向枚举常量添加更多内容(属性、方法等),就像在Java中一样?演示添加字段、方法和构造函数的Java示例:publicenumPlanet{MERCURY(3.303e+23,2.4397e6),VENUS(4.869e+24,6.0518e6),EARTH(5.976e+24,6.37814e6),MARS(6.421e+23,3.3972e6),JUPITER(1.9e+27,7.1492e7),SATURN(5.688e+26,6.0268e7),URANUS(8.686e+25,2.5559e7),NEPTUNE(1.024e+26,2.474
我正在尝试按照以下方式做一些事情:publicvoidsetContents(Object[]values){...//A.thisworksmRank=((String)(values[Columns.RANK.index]));//B.doesn'twork(entirelineunderlinedbynetbeans)mRank=(Columns.RANK.type.cast(values[Columns.RANK.index]));//incompatibletypes:requiredjava,lang.Stringfound:java.lang.Object//C.does
我有一个枚举,我想从中随机选择一个值,但不是真正随机的。到目前为止,我希望某些值不太可能被选中。这是我到目前为止所拥有的...privateenumType{TYPE_A,TYPE_B,TYPE_C,TYPE_D,TYPE_E;privatestaticfinalListVALUES=Collections.unmodifiableList(Arrays.asList(values()));privatestaticfinalintSIZE=VALUES.size();privatestaticfinalRandomRANDOM=newRandom();publicstaticType
我正在尝试做reverselookup在几个实现相同Field的枚举类上通过遍历Class的列表来实现界面es使用Guava的Maps.uniqueIndex:FieldvalueOfSearchName=null;for(finalClass>clazz:ImmutableList.of(EntityField.class,AddressField.class,PersonFunctionType.class)){valueOfSearchName=Fields.valueOfSearchName(clazz,term.field());//errorif(valueOfSearch
我经常使用这种技术,但我不确定如何调用它。我称之为关联枚举。对吗?例子:publicenumGenders{Male("M"),Female("F"),Transgender("T"),Other("O"),Unknown("U");privateStringcode;Genders(Stringcode){this.code=code;}publicStringgetCode(){returncode;}publicstaticGendersget(Stringcode){for(Gendersgender:values()){if(gender.getCode().equalsIg