You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SwitchPatternPreview4Error.java 1.3KB

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * This used to work up to preview 3 (Java 19), but no longer in preview 4 (Java 20).
  3. * Now, the default case seems to need to be the last one in the list.
  4. */
  5. public class SwitchPatternPreview4Error {
  6. static void defaultCanAppearBeforePattern(Integer i) {
  7. switch (i) {
  8. case null -> System.out.println("value unavailable: " + i);
  9. case -1, 1 -> System.out.println("absolute value 1: " + i);
  10. default -> System.out.println("other integer: " + i);
  11. case Integer value when value > 0 -> System.out.println("positive integer: " + i);
  12. }
  13. }
  14. static void defaultCanAppearBeforeNull(Integer i) {
  15. switch (i) {
  16. case -1, 1 -> System.out.println("absolute value 1: " + i);
  17. default -> System.out.println("other integer: " + i);
  18. case null -> System.out.println("value unavailable: " + i);
  19. case Integer value when value > 0 -> System.out.println("positive integer: " + i);
  20. }
  21. }
  22. static void defaultCanAppearBeforeConstantLabel(Integer i) {
  23. switch (i) {
  24. case null -> System.out.println("value unavailable: " + i);
  25. default -> System.out.println("other integer: " + i);
  26. case -1, 1 -> System.out.println("absolute value 1: " + i);
  27. case Integer value when value > 0 -> System.out.println("positive integer: " + i);
  28. }
  29. }
  30. }