class C { void finalVariableAssignedInAllBranches(int k) { final String s; switch (k) { case 1 -> s = "a"; case 2 -> s = "b"; case 3, 4 -> s = "c"; default -> s = "d"; } System.out.println(s); } enum EnumAB {A, B} void finalVariableAssignedInAllEnumConstantBranches(EnumAB ab) { final int n; switch (ab) { case A -> n = 1; case B -> n = 2; } System.out.println(n); } void assignedInSomeBranches(String s) { int n; switch ((int)Math.random()) { case 1 -> n = 1; default -> {} } System.out.println(n); } void finalVariableReassignedAfterSwitchStatement(int n) { final String s; switch (n) { case 1 -> s = "a"; default -> {} } s = "b"; System.out.println(s); } void finalVariableReassignedAfterSwitchExpression(int n) { final String s; String t = switch (n) { case 1 -> s = "a"; default -> ""; }; s = t; System.out.println(s); } void finalVariableReassignedInSwitchStatement(int n) { final String s = "b"; switch (n) { case 1 -> s = "a"; default -> {} }; System.out.println(s); } void finalVariableReassignedInSwitchExpression(int n) { final String s = "b"; String string = switch (n) { case 1 -> s = "a"; default -> ""; }; System.out.println(s); } static class FinalFieldAssignedInSomeBranches { final int n; { switch ((int)Math.random()) { case 1 -> n = 1; default -> {} } } } static class FinalFieldAssignedInSomeBranchesNoDefault { final int n; { switch ((int)Math.random()) { case 1 -> n = 1; case 0 -> n = 0; } } } static class FinalFieldAssignedInAllBranches { final int n; { switch ((int)Math.random()) { case 1 -> n = 1; default -> n = 0; } } } static class FinalFieldInitializedWithswitchExpression { final int n = switch ((int)Math.random()) { case 1 -> 1; default -> 0; }; } }