Here's the testcase:
public class X {
public int foo(Character c) {
int result = 0;
switch (c) {
case Character c1 -> {
result = c1;
break;
}
case 0 -> { // Same goes for case (int) 0
result = 0;
break;
}
}
return result;
}
}
Javac reports this - error: this case label is dominated by a preceding case label but we allow this.