[jdk17] Add support for guard/parenthesized pattern

This commit is contained in:
Rawi01 committed 2021-08-18 09:37:21 +02:00
1 parent 91859536db
commit df2601f9db
3 files changed
+86 -1

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
// version 17:
public class Switch17 {
String switchPatternMatching(Object o) {
return switch (o) {
case Integer i -> String.format("int %d", i);
case Long l -> String.format("long %d", l);
case Double d -> String.format("double %f", d);
case String s -> String.format("String %s", s);
default -> o.toString();
};
}
String switchNull(Object o) {
return switch (o) {
case null, default -> "?";
};
}
String switchGuardPattern(Object o) {
return switch (o) {
case String s && s.length() > 1 -> s;
default -> o.toString();
};
}
String switchParenthesizedPattern(Object o) {
return switch (o) {
case (String s) -> s;
default -> o.toString();
};
}
}