草庐IT

java - 在 Java 中使用内部类 - 枚举

我有一个与内部类有关的非常具体的问题。让我向您展示一些示例代码:classFoo{MYOPTIONStemp;publicstaticenumMYOPTIONS{OPTION1,OPTION2,OPTION3;}}所以这个枚举在Foo类中。现在我想要做的是将临时变量设置为三个选项之一,但是在Foo类之外进行,比方说从一个名为External的类中进行。不幸的是,我无法使用set方法来执行此操作,因为External.setTemp(MYOPTIONS.OPTION1)无效,因为枚举在外部类中不可见。所以我唯一能想到的就是在Foo类中使用三个方法:publicvoidsetTempOpt

java - 枚举中的特殊字符

我想将特殊字符、括号('('和')')和撇号(')放入枚举中。我有这个:privateenumspecialChars{"(",")","'"}但它不起作用。Java说了一些关于无效标记的事情。我该如何解决这个问题?格茨我.eatCookie(); 最佳答案 你可以这样做:privateenumSpecialChars{COMMA(","),APOSTROPHE("'"),OPEN_PAREN("("),CLOSE_PAREN(")");privateStringvalue;privateSpecialChars(Stringval

java - 如何检查给定字符串是否是 Java 中任何给定枚举的一部分?

我有两个不同的枚举,我希望能够输出给定的是否字符串是枚举集合的一部分。这是我的代码:publicclassCheck{publicenumFilter{SIZE,DATE,NAME};publicenumAction{COPY,DELETE,REMOVE};publicbooleanisInEnum(Stringvalue,Enume){//checkifstringvalueisapartofagivenenumreturnfalse;}publicvoidmain(){Stringfilter="SIZE";Stringaction="DELETE";//checkthestrin

java - JPA 枚举比较不等于失败

我正在使用JPA2.1.2。我想执行带有where子句的选择查询。where语句应该比较(不等于)存储在数据库(字符串)中的枚举。@Entity@Table(name="MY_ENTITY")publicclassMyEntityimplementsSerializable{@Column(name="REMINDER_STATE")@Enumerated(EnumType.STRING)privateReminderStagereminderStage;...}classDaoImpl{....@OverridepublicListfindAll(ReminderStagestage

java - 如果 Enum 声明没有递归部分,在 Java 中会有什么不同

请看JavaEnumdefinition和WhyinjavaenumisdeclaredasEnum>供一般性讨论。在这里我想知道如果Enum类被定义为publicclassEnum我正在使用这段代码来测试我的想法:interfaceMyComparable{intmyCompare(To);}classMyEnumimplementsMyComparable{publicintmyCompare(Eo){return-1;}}classFirstEnumextendsMyEnum{}classSecondEnumextendsMyEnum{}在这种情况下,我找不到任何好处。附言。我不

java - 在java中,这样的枚举类型编译成什么?

下面是定义枚举类型的代码。enumCompany{EBAY(30),PAYPAL(10),GOOGLE(15),YAHOO(20),ATT(25);privateintvalue;privateCompany(intvalue){super(this.name());this.value=value;}publicintgetValue(){returnvalue;}}内部编译为,finalclassCompanyextendsEnum{publicfinalstaticCompanyEBAY=newCompany(30);publicfinalstaticCompanyPAYPAL=

java - 在 Java 中,什么时候调用枚举常量的构造函数?

要在Java中使用人为的示例,代码如下:enumCommands{Save("S");File("F");privateStringshortCut;privateCommands(StringshortCut){this.shortCut=shortCut;}publicStringgetShortCut(){returnshortCut;}}我有以下测试/驱动程序代码:publicstaticvoidmain(Stringargs[]){System.out.println(Commands.Save.getShortCut());}问题是:在Java中,什么时候调用枚举常量的构造

java - 在扩展 Enum 的泛型类中使用 Enum.values

这个问题在这里已经有了答案:Iterateenumvaluesusingjavagenerics(10个答案)关闭5年前。我正在尝试使用枚举中的所有可用值初始化一个通用类。这是我希望它的工作方式:publicclassMyClass>{E[]choices;publicMyClass(){choices=E.values();}但是,在Eclipse中不接受对E.values的调用,表示此E未定义此方法。可以接受使用此构造函数,但需要调用者提供值:publicMyClass(E[]e){choices=e;}在我找到的文档中:Javaprogramminglanguageenumtyp

java - 枚举在 Java 内部是如何表示的?

Java枚举是类。它们被编译为类。下面的例子将如何编译?它的“类版本”是什么?确切的类代码是什么?我想要实际的Java代码。publicenumOrdinals{FIRST("st"),SECOND("nd"),THIRD("rd");privateStringnotation;privateOrdinals(Stringnotation){this.notation=notation;}publicStringgetNotation(){returnnotation;}} 最佳答案 每个enum类都被编译为java.lang.En

java - 如何覆盖 java 枚举中的(最终)equals 方法?

我在覆盖Enum中的equals方法以使其与其他类兼容时遇到问题。Enum实现了一个接口(interface),其想法是可以测试该接口(interface)的所有实现是否相等,无论它们的类型如何。例如:publicinterfaceGroup{publicPoint[]getCoordinates();}publicenumBasicGroupsimplementsGroup{a,b,c;//simplified,theyactuallyhaveconstructors//+fieldsandmethods}publicclassOtherGroupimplementsGroup{//