草庐IT

java - 我需要检查枚举元素是否在枚举集中

我是Java新手。我需要检查枚举元素是否在枚举集中。在德尔福中:typeTWeekEnum=(weMonday,weTuesday,weWednesday,weThursday,weFriday,weSaturday,weSunday)TWeekSetEnum=(weSaturday,weSunday)if(weSundayin(TWeekSetEnum))...Java? 最佳答案 您可以通过这种方式定义enum,然后还可以将您的子集创建为它的静态方法。publicenumTWeekEnum{weMonday,weTuesday,

java - 如何在枚举中调用附加方法?

enumEnum1{BIG(8),HUGE(10){publicStringgetName(){return"Huge";}publicStringgetContry(){return"India";}//additionalMethod},OVERWHELMING(16){publicStringgetName(){return"OVERWHELMING";}};privateintounces;publicintgetOunes(){returnounces;}publicStringgetName(){return"Ponds";}Enum1(intounces1){ounces

java - 如何在java中将字符串数组转换为枚举数组

我有一个字符串数组,其中包含从用户那里获取的枚举值。我现在如何将此字符串数组转换为枚举数组,以便可以迭代元素并在其他方法中进一步使用?这需要在Java中完成。基本上我要问的是,例如我是否有这个数组String[]names={"Autumn","Spring","Autumn","Autumn"};我有这个枚举enumSeason{Autumn,Spring;}现在如何将上述字符串类型的数组转换为枚举季节类型的数组? 最佳答案 这是一个完整的代码示例:privatestaticListfoo(Listslist){Listlist=

java - 有没有办法强制您切换 Java 中枚举的所有定义值?

这个问题在这里已经有了答案:Howtoensurecompletenessinanenumswitchatcompiletime?(13个答案)关闭5年前。假设您有一个包含3个值的枚举:enumColors{RED,GREEN,BLUE}你用某种方法切换它的所有值,认为你已经处理了所有情况:switch(colors){caseRED:...caseGREEN:...caseBLUE:...}然后,您向枚举添加一个新值:enumColors{RED,GREEN,BLUE,YELLOW}并且一切仍然可以正常编译,只是您在方法中默默地遗漏了YELLOW的大小写。在这种情况下有没有办法引发编

java - 枚举与类加载器

有时您甚至可能不知道您插入代码的环境有不止一个类加载器。在这种情况下,我是否仍然期望操作“==”对枚举值起作用? 最佳答案 多个类加载器可能不是问题,只要枚举只能通过其中一个可用。如果不是这种情况,您将失去枚举的所有好处。顺便说一下,使用equals()也无济于事。下面是Java1.6中Enum.equals(Object)的实现:publicfinalbooleanequals(Objectother){returnthis==other;} 关于java-枚举与类加载器,我们在Sta

java - 比较枚举中的排名

我有以下代表CardRank的枚举publicenumCardRank{DEUCE('2'),TREY('3'),FOUR('4'),FIVE('5'),SIX('6'),SEVEN('7'),EIGHT('8'),NINE('9'),TEN('T'),JACK('J'),QUEEN('Q'),KING('K'),ACE('A');privatecharsymbol;privateCardRank(charsymbol){this.symbol=symbol;}publicchargetSymbol(){returnthis.symbol;}}CardRank以升序表示。我需要比较等级

java - 通过反射获取枚举的值

我有一个这样声明的枚举:publicenumMode{RUNNING("SytemRunning"),STOPPED("SystemStopped"),IDLE("tmpIdle");publicstaticStringkey;privateMode(Stringkey){this.key=key;}}现在,我想通过反射获取此枚举的键(SystemRunning、SystemStopped、tmpIdle):Classc=Class.forName("Mode");Object[]objects=c.getEnumConstants();//nowthisisnotwhatIwant,

java - Ruby 中的高级类 Java 枚举

首先,这不是EnumsinRuby的副本:)该问题的公认答案表明这是在Ruby中表示枚举的好方法:classFooBAR=1BAZ=2BIZ=4end在Java中,可以将多个值和方法附加到枚举值。我想在Ruby中实现相同或类似的目标。什么是最像Ruby的方式来表示这个Java枚举:publicenumEnumVALUE_1("Value1"),VALUE_2("Value2"),VALUE_3("Value3");Enum(Stringvalue){this.value=value;}publicStringgetValue(){returnvalue;}privateStringva

java - 枚举 valueOf IllegalArgumentException : No enum const class

我过去在Java中使用过枚举,但出于某种原因,我现在遇到了一个奇怪的错误。它抛出错误的代码行是:switch(ConfigProperties.valueOf(line[0].toLowerCase()){...}我得到一个java.lang.IllegalArgumentException:Noenumconstclassallautomator.ConfigProperties.language示例行中是一个字符串数组。我现在真的很迷茫,不知道哪里出了问题。 最佳答案 枚举常量区分大小写,因此请确保您的常量确实是小写的。另外,我

java - 枚举是否比 public static final 常量更难维护?

我最近与friend讨论枚举与公共(public)静态最终常量。我告诉他publicstaticfinalconstants比枚举更易于维护,有时速度更快(android开发人员文档证实了这一点),也更方便。我还说过,使用枚举也会失去功能:您不能扩展枚举。您不能实例化枚举。然后他说,如果您需要实例化或扩展枚举,则不应使用枚举。然后我回答说,这就是为什么我们应该只使用常量,因为它更易于维护;如果在项目中期我们需要实例化一个枚举或扩展它怎么办?然后我们将不得不改变一切。为了说明我的观点而制作的枚举与常量示例:publicenumWeekDay{/**Wewillstartat1fordem