我有点困惑,因为我从未使用过枚举。我想在我的主方法中使用这个枚举。但不知何故,我无法这样做(每次尝试在main方法中执行Status s;
时都会出错)。但是,我当然可以从主方法中调用我的TestingEnum
方法,这当然有效...但我100%确定以这种方式使用枚举是错误的。请问有人能告诉我如何正确地在主方法中使用它吗?
如果我在我的主方法中尝试执行:Status s;,我会得到这个错误 -“找不到符号Status s;”
背景:我是Java和枚举的新手...
class MyClass {
public Status s;
public enum Status {
STATUS_OPEN(1),
STATUS_STARTED(2),
STATUS_INPROGRESS(3),
STATUS_ONHOLD(4),
STATUS_COMPLETED(5),
STATUS_CLOSED(6);
private final int status;
Status(int stat) {
this.status = stat;
}
public int getStatus() {
return this.status;
}
}
private void setStatus(Status stat) {
s = stat;
}
public void TestingEnum() {
Status myStat = Status.STATUS_ONHOLD;
setStatus(myStat);
}
@Override
public String toString() {
StringBuilder result = new StringBuilder();
String NEW_LINE = System.getProperty("line.separator");
result.append(NEW_LINE + " Status: " + s + NEW_LINE);
return result.toString();
}
}
public class Main {
public static void main(String[] args) {
MyClass obj = new MyClass();
// PROBLEM SETTING STATUS HERE
// I can't do this:
Status s;
}
}
Status myStat = Status.ABANDONED;
时,你是不是想说Status.STATUS_ONHOLD
? - snim2