public enum Direction {L, LU, U, RU, R, RD, D, LD, STOP
}
Direction dir;
switch (dir) {
case L:
x -= XSPEED;
break;
case LU:
x -= XSPEED;
y -= YSPEED;
break;
case U:
y -= YSPEED;
break;
case RU:
x += XSPEED;
y -= YSPEED;
break;
case R:
x += XSPEED;
break;
case RD:
x += XSPEED;
y += YSPEED;
break;
case D:
y += YSPEED;
break;
case LD:
x -= XSPEED;
y += YSPEED;
break;
case STOP:
break;
}(此为整个程序的一小部分)我的问题是:case 后面的L,R,D,LD等为什么不能写成Direction.L,Direction.R,Direction.D,Direction.LD,谢谢!
}
Direction dir;
switch (dir) {
case L:
x -= XSPEED;
break;
case LU:
x -= XSPEED;
y -= YSPEED;
break;
case U:
y -= YSPEED;
break;
case RU:
x += XSPEED;
y -= YSPEED;
break;
case R:
x += XSPEED;
break;
case RD:
x += XSPEED;
y += YSPEED;
break;
case D:
y += YSPEED;
break;
case LD:
x -= XSPEED;
y += YSPEED;
break;
case STOP:
break;
}(此为整个程序的一小部分)我的问题是:case 后面的L,R,D,LD等为什么不能写成Direction.L,Direction.R,Direction.D,Direction.LD,谢谢!
这个dir就已经明确是Direction 对象
所以下面case内容必须是Direction中的
如果写成Direction.L 会误解成可以写成Direction1.L Direction2.L之类的就好像
int i = 1;
int j;
j = i;
而不用
j = (int)i;