![]() |
1
5
这将与该语言的其他部分不一致。 事实上,范围是 总是 由块决定。这种一致性使得Java更易于阅读和维护。 |
![]() |
2
6
你为什么要 希望 这个?如果您需要为每个case块设置一个新的作用域,那么在case块中就做得太多了。把它推到一个方法上。 |
![]() |
3
4
因为C是这样工作的,Java被设计用来吸引C程序员。 |
![]() |
4
2
要添加到其他答案中,如果后续案例需要与前一个案例处于相同的范围内,您还将失去Fallthrough的好处。据我所知,添加一个新的范围级别要比试图摆脱语言对您的强迫要容易得多。 |
![]() |
5
2
我很高兴事情就是这样。A的范围 local variable is always a block . 一条规则,没有例外。
一个街区可以统治所有人,一个街区可以找到他们,
|
![]() |
6
1
幸运的是,你在一个很好的公司里不喜欢这种行为。- Jon Skeet agrees with you :) 是的,我知道链接是关于C的问题,但是这个Java行为是从C的块范围规则继承的。 |
![]() |
7
0
因为,您可能想这样做:
然后,用这个……如果得到“条件一”,那么将设置变量,并同时调用dossostufhere和domorestufhere。但是,如果不是这样的话,你会得到第三个条件,那么,只有domorestufhere会被称为。 |
![]() |
8
0
答案正如其他人所说——或多或少——因为这就是事情的工作方式。 也许汤姆·特兰斯基真正的意思是如何达到预期的效果。
|