package dfa; public class SwitchConstantPrimitiveAllowed { public static void main(String[] args) { testBoolean(); testInt(); testChar(); testByte(); testShort(); testLong(); testFloat(); testDouble(); testBooleanObject(); testIntObject(); testCharObject(); testByteObject(); testShortObject(); testLongObject(); testFloatObject(); testDoubleObject(); } private static void testDoubleObject() { Double o = 0.0; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1");//error case 'a' -> System.out.println("a");//error case 0xa -> System.out.println("0xa"); //error case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); default -> System.out.println("default"); } } private static void testFloatObject() { Float o = 1F; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1");//error case 'a' -> System.out.println("a");//error case 0xa -> System.out.println("0xa"); //error case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testLongObject() { Long o = 1L; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1");//error case 'a' -> System.out.println("a");//error case 0xa -> System.out.println("0xa"); //error case 1l -> System.out.println("1l"); case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testShortObject() { Short o = 1; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1"); case 'a' -> System.out.println("a"); case 0xa -> System.out.println("0xa"); case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testByteObject() { Byte o = '1'; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1"); case 'a' -> System.out.println("a"); case 0xa -> System.out.println("0xa"); case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testCharObject() { Character o = '1'; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1"); case 'a' -> System.out.println("a"); case 0xa -> System.out.println("0xa"); case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testIntObject() { Integer o = 1; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1"); case 'a' -> System.out.println("a"); //error case 0xa -> System.out.println("0xa"); case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testBooleanObject() { Boolean o = true; switch (o) { case true -> System.out.println("true"); case 1 -> System.out.println("1"); //error case 'a' -> System.out.println("a"); //error case 0xa -> System.out.println("0xa"); //error case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testDouble() { double o = 0.0; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1");//error case 'a' -> System.out.println("a");//error case 0xa -> System.out.println("0xa"); //error case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); default -> System.out.println("default"); } } private static void testFloat() { float o = 1F; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1");//error case 'a' -> System.out.println("a");//error case 0xa -> System.out.println("0xa"); //error case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testLong() { long o = 1L; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1");//error case 'a' -> System.out.println("a");//error case 0xa -> System.out.println("0xa"); //error case 1l -> System.out.println("1l"); case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testShort() { short o = 1; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1"); case 'a' -> System.out.println("a"); case 0xa -> System.out.println("0xa"); case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testByte() { byte o = '1'; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1"); case 'a' -> System.out.println("a"); case 0xa -> System.out.println("0xa"); case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testChar() { char o = '1'; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1"); case 'a' -> System.out.println("a"); case 0xa -> System.out.println("0xa"); case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testInt() { int o = 1; switch (o) { case true -> System.out.println("true"); //error case 1 -> System.out.println("1"); case 'a' -> System.out.println("a"); case 0xa -> System.out.println("0xa"); case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } private static void testBoolean() { boolean o = true; switch (o) { case true -> System.out.println("true"); case 1 -> System.out.println("1"); //error case 'a' -> System.out.println("a"); //error case 0xa -> System.out.println("0xa"); //error case 1l -> System.out.println("1l"); //error case 1.0f -> System.out.println("1.0f"); //error case 1.0 -> System.out.println("1.0f"); //error default -> System.out.println("default"); } } }