Intro Extended Switch Expressions
這篇介紹Extended Switch Expressions。
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Java17的switch可以接收回傳值並不需使用break來增加可讀性。
DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek(); boolean freeDay = switch (dayOfWeek) { case MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY -> false; case SATURDAY, SUNDAY -> true; };
允許使用yield回傳值,且使用一個function來執行其它程式碼語法。
DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek(); boolean freeDay = switch (dayOfWeek) { case MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY -> { System.out.println("Work work work"); yield false; } case SATURDAY, SUNDAY -> { System.out.println("Yey, a free day!"); yield true; } };
|