import java.util.Date; class ExpressionsInSwitch { final int f = -3; void f1() { switch (0) { case new Integer(0).MAX_VALUE: } int k = 0; switch (0) { case false ? k : 0: case true ? 1 : k: } boolean b = true; switch (0) { case false && b ? 0 : 1: case true || b ? 2 : 0: } final Object obj = ""; switch (0) { case obj=="" ? 0 : 0: case this.f: } int i = 0; final Integer I = null; switch (0) { case i: case I.MAX_VALUE: case Integer.MAX_VALUE: } } static class b { static final int c = 8; } void cf1() { final int i = 9; switch (0) { case i: case 2+4: case f: case ExpressionsInSwitch.b.c: } switch (0) { case true ^ true ? 0 : 0: } } void parenthesizedNull() { switch (new Object()) { case ((null)) -> {} default -> {} } switch ("blah blah blah") { case "hello", ((null)), default -> {} } } }