为什么不能在switchcase中将枚举值用作字符串?(或者这有什么问题:)Stringargument;switch(argument){caseMyEnum.VALUE1.toString()://Isn'tthisequalto"VALUE1"?//somethingbreak;caseMyEnum.VALUE2.toString()://somethingelsebreak; 最佳答案 您只能使用在编译时已知的字符串。编译器无法确定该表达式的结果。也许你可以试试Stringargument=...switch(MyEnum.
enum数据类型和Enumeration接口(interface)之间有什么区别吗?我在两者之间感到困惑。我得到的答案是它们不相关,但这让我想到了另一个问题。我们不能实例化接口(interface)。那么这条线有什么意义呢Enumerationdays=dayNames.elements();这是包含该行的完整代码importjava.util.Vector;importjava.util.Enumeration;publicclassEnumerationTester{publicstaticvoidmain(Stringargs[]){Enumerationdays;Vectord
我有3个带有常量的字符串数组。例如:String[]digit={"one","two","three"};String[]teen={"ten","twenty","thirty"};String[]anchors={"hundred","thousand","million"};我正在考虑将它们分别转移到枚举中,所以我将有3个枚举类:digit、teen和anchors以及getValue方法实现。但我不想将它们放在单独的文件中,因为我只有少量数据和相同类型的数据。在同一个有意义的java文件中拥有所有这些访问方法的最佳方法是什么? 最佳答案
enumgeneralInformation{NAME{@OverridepublicStringtoString(){return"Name";}},EDUCATION{@OverridepublicStringtoString(){return"Education";}},EMAIL{@OverridepublicStringtoString(){return"Email";}},PROFESSION{@OverridepublicStringtoString(){return"Profession";}},PHONE{@OverridepublicStringtoString()
万岁!这段代码工作了一段时间,然后我决定添加一种默认颜色,然后它就停止工作了。我收到以下错误:1errorfound:File:Status.java[line:20]Error:Status.java:20:illegalreferencetostaticfieldfrominitializer在编译时使用以下代码。importjava.awt.Color;enumStatus{OFF("Off"),TRAINING("Training",newColor(255,191,128)),BEGINNER("Beginner",newColor(128,255,138)),INTERME
有没有办法填充JavaFXComboBox或ChoiceBox枚举的所有枚举?这是我尝试过的:publicclassTest{publicenumStatus{ENABLED("enabled"),DISABLED("disabled"),UNDEFINED("undefined");privateStringlabel;Status(Stringlabel){this.label=label;}publicStringtoString(){returnlabel;}}}在另一个类中,我试图填充ComboBox:ComboBoxcbxStatus=newComboBox();cbxSt
在Java中有没有办法声明一个枚举,其值可以一起使用?例如:enumFileAccess{Read,Write,ReadWrite}是否可以将ReadWrite定义为Read|写(或任何会产生相同结果的东西)? 最佳答案 您使用EnumSet:EnumSetreadWrite=EnumSet.of(FileAccess.Read,FileAccess.Write);这实际上比C#/.NET方式更优雅,IMO-除其他外,您可以轻松区分集合和单个值。 关于java-可以合并Java枚举(如C
大多数情况下,包含所有元素的枚举显示在用户界面的下拉列表中。我们需要在用户界面中仅显示5个字段中的2个。通过某种方式利用可用于枚举的相同函数,获取此数据的更简单方法是什么。enumColor{RED,GREEN,BLACK,BLUE,YELLOW};我们有要求在某个用户界面中只显示{RED,BLUE}? 最佳答案 听起来像是EnumSet的工作:EnumSetset=EnumSet.of(Color.RED,Color.BLUE); 关于java-如何获取枚举的子集,我们在StackOv
如果我必须在使用该对象之前对其进行初始化,那么初始化基于java枚举的单例的正确方法是什么。我已经开始编写代码了,但我不确定我是否做对了。你能帮我实现这个适合我的单例吗?publicenumBitCheck{INSTANCE;privatestaticHashMapprops=null;publicsynchronizedvoidinitialize(HashMapproperties){if(props==null){props=properties;}}publicbooleanisAenabled(){return"Y".equalsIgnoreCase(props.get("A
我有一个枚举类型(为了参数的缘故CarModel),在整个应用程序(许多类)中使用。publicenumCarModel{DIABLO,P911,DB7;}我有多种方法以不同的方式使用此CarModel枚举类型,并且每个方法都有一个switch语句来根据枚举类型设置一些String变量,然后再开始继续做其他事情。(例如设置某些型号的制造商,或设置原产国等。这些结果在运行时是静态的)问题是,如果我想向枚举中添加一个新模型,我需要转到每个方法,并扩展/修改switch语句以处理它的存在。这很容易导致人为错误和/或代码重复(如果各种方法使用相同的switch语句)。与其全面使用switch语