Использование статического / статического + финального модификатора в строке перед тем, как будет представлен переключатель.
void m(){
final int a = 0;
switch(e)
case a : ...
}
не будет работать, потому что void m () скомпилируется после того, как все статические атрибуты / методы скомпилированы.
void m()
{
switch(e)
case a : ...
}
final int a = 0;
не работает, потому что объявление "a" после переключателя
final int a = 0;
void m()
{
switch(e)
case a : ...
}
будет работать.
Тот же принцип для
static A a = new A(b);
static B b = new B();
будетне работает, потому что компоновщик JVM читает код построчно ... это не так плохо, как в C / C ++, но он все еще существует.
переключатель работает со статикой, конечными константами, перечислениями ... они не работают дляЗаписи hashSet (и это одна вещь, которая меня бесит: D)