Трудно сказать, не видя некоторый код, но «дублирующиеся локальные переменные» вместе с «регистром переключения» заставляют меня думать, что вы объявляете переменную в одном из случаев с тем же именем, что и переменная из другого случая.
Код в разных случаях одного и того же переключателя находится в одной и той же области видимости, если только код в скобках не заключен в скобки, например:
switch(VALUE) {
case A: {
String string = "";
}
case B: {
//Same variable name, possible since it's in a different scope now.
String string = "";
}
}
Так что используйте либо скобки, либо простоубедитесь, что вы используете разные имена переменных во всех случаях.