// constant expressions in switch import java.util.Date; class a { final int f = -3; void f1() { switch (0) { case <error descr="Constant expression required">new Integer(0).MAX_VALUE</error>: } int k=0; switch (0) { case <error descr="Constant expression required">false ? k : 0</error>: case <error descr="Constant expression required">true ? 1 : k</error>: } boolean b=true; switch (0) { case <error descr="Constant expression required">false && b ? 0 : 1</error>: case <error descr="Constant expression required">true || b ? 2 : 0</error>: } final Object obj=""; switch (0) { case <error descr="Constant expression required">obj=="" ? 0 : 0</error>: case <error descr="Constant expression required">this.f</error>: } int i = 0; final Integer I = null; switch (0) { case <error descr="Constant expression required">i</error>: case <error descr="Constant expression required">I.MAX_VALUE</error>: 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 a.b.c: } switch (0) { case true ^ true ? 0 : 0: } } }