mac*_*ian 4 java enumeration switch-statement enumerated-types
你能switch在Java语句中包含多个变量吗?
enum Facing { North, South, East, West }
enum Forward { Right, Left }
Forward forward;
Facing facing;
Integer myNumber;
Run Code Online (Sandbox Code Playgroud)
看起来像这样?如果是这样,我将如何实施
switch (facing, forward) {
case North, Right : facing 1 = East
}
Run Code Online (Sandbox Code Playgroud)
我知道这是错的,但想知道这种技术是否可行,我将如何实施呢?
Eng.Fouad给出了一个方法.
另一个可能是创建一个更复杂的Facing枚举,如下所示:
enum Facing {
North {
Facing right() { return East; }
Facing left() { return West; }
},
East {
Facing right() { return South; }
Facing left() { return North; }
},
South {
Facing right() { return West; }
Facing left() { return East; }
},
West {
Facing right() { return North; }
Facing left() { return South; }
};
abstract Facing right();
abstract Facing left();
}
Run Code Online (Sandbox Code Playgroud)
这样的构造还允许轻松链接,以便您可以编写如下的通用反向例程:
Facing reverse(Facing facing) { return facing.right().right(); }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
696 次 |
| 最近记录: |