例如,我在另一个类中定义了一个枚举,
EnumClasses.java,我可以通过
访问不同类别的那个 import java.io.DataInputStream;
public class Thread1 extends Thread {
declared variables here (variables not relevant)
initiated variables here (variables not relevant)
DataInputStream dis;
}
public void run()
{
while (true)
{
try {
int mesgType = dis.readInt();
System.err.println(mesgType);
switch (mesgType) {
case EnumClasses.MYENUM:
String data;
data = myData;
break;
}
}
}
}
我想知道是否可以在该ENUM之外的ENUM内访问该值。 E.g。
public static void myMethod(){
System.out.print(data);
}
这是否可能,如果可能,我该怎么做?
答案 0 :(得分:1)
如果我理解这个问题,似乎你想以某种方式阅读Enum
的内容。根据我的想法,一个简单的例子如下:
enum Numbers {
ONE ( 1, "One" ),
TWO ( 2, "Two" );
private int value;
private String name;
private Numbers ( int value, String name ) {
this.value = value;
this.name = name;
}
public int getValue () {
return this.value;
}
public String getName () {
return this.name;
}
}
public class EnumExample {
private void performTask () {
System.out.println ( Numbers.ONE );
Numbers numbers = Numbers.ONE;
System.out.println ( "Value: " + numbers.getValue () );
System.out.println ( "Name: " + numbers.getName () );
}
public static void main ( String[] args ) {
new EnumExample ().performTask ();
}
}
输出:
C:\Mine\java\bin>java EnumExample
ONE
Value: 1
Name: One
答案 1 :(得分:0)
在Enum上看到这个例子:
public enum Level {
HIGH,
MEDIUM,
LOW
}
public class Test
{
public enum Status {
Opened,
Closed,
Waiting
}
}
public class abc {
public static void main(String args[]) {
System.out.print(Level.HIGH);
System.out.print(Test.Status.Opened);
}
}
一个很好的参考Java Enums