class Tiger {}
String describe(Object obj) {
return switch(obj) {
//Java 17 Feature
case Tiger t -> "Tiger!!!";
case Integer i -> "Int type";
case String s -> String.format("string value '%s'", s);
case null -> "Empty value";
default -> "Unknown type";
};
}
var result = describe(new Tiger());
System.out.println(result);
result = describe("test");
System.out.println(result);
result = describe(5);
System.out.println(result);
var e = "3*3";
switch (e) {
//Java 14 Feature
case "3 + 3" -> System.out.printf("result = 6");
case "3 - 3" -> System.out.printf("result = 0");
case "3*3" -> System.out.printf("result = 9");
case "3/3" -> System.out.printf("result = 1");
default -> System.out.printf("unknown");
}