aboutsummaryrefslogtreecommitdiff
path: root/test/pretty/resource/before/Switch17.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/pretty/resource/before/Switch17.java')
-rw-r--r--test/pretty/resource/before/Switch17.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/pretty/resource/before/Switch17.java b/test/pretty/resource/before/Switch17.java
new file mode 100644
index 00000000..17754e82
--- /dev/null
+++ b/test/pretty/resource/before/Switch17.java
@@ -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();
+ };
+ }
+}