如何通过void方法修改枚举? <java的>

时间:2017-10-28 10:05:05

标签: java methods enums void

我的枚举是一周中的几天。我想编写方法prevDay(),它将修改每个

Day day

键入以使其相等

Day.MON

当我调用以下代码时出现错误:

错误 - 作业的左侧必须是变量。

public enum Day {

    MON, TUE, WED, THU, FRI, SAT, SUN;

    public static main(String[] args){
         Day d= Day.TUE;
         d.prevDay();
    }
    public void prevDay(){
        this=Day.MON;
    }

}

但如果我打电话:

public enum Day{
MON, TUE, WED, THU, FRI, SAT, SUN;


     public static main(String[] args){
          Day d= Day.TUE;
          d=d.prevDay();// if I change this line to: "d.prevDay() "
     }                  // will day also be modified?

     public Day prevDay(){
          return Day.MON;
     }
}

没有错误。为什么?

1 个答案:

答案 0 :(得分:0)

我为你做了一点研究,发现了以下内容:

http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_09_004.htm#mjb51623ea831884c57b143981630b06fb

参见代码清单9.26

你能尝试使用这个吗?而不是简单吗?