模式匹配總是 Java 中備受期待的功能,它為該語言帶來了更多的功能和靈活性。 Java 21 引入了 switch 語句的模式匹配,這簡化了程式碼並減少了樣板檔案。讓我們來探討一下這個新功能的工作原理以及它的好處。
switch 的模式匹配可讓您將值與模式進行匹配,使程式碼更具表現力和可讀性。現在您可以編寫更簡潔且可維護的程式碼,而不是使用多個 if-else 語句或複雜的 switch case。
這是一個簡單的範例來說明 switch 的模式匹配如何運作:
static String formatterPatternSwitch(Object obj) { return switch (obj) { 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 -> obj.toString(); }; }
在此範例中,formatterPatternSwitch 接受一個物件並根據其類型傳回一個格式化字串。以下是所發生事件的詳細說明:
讓我給出詳細的範例案例:處理不同的形狀
考慮一個場景,您需要處理不同的形狀並計算它們的面積。以下是 switch 的模式匹配如何簡化程式碼:
abstract sealed class Shape permits Circle, Square, Rectangle {} final class Circle extends Shape { double radius; Circle(double radius) { this.radius = radius; } } final class Square extends Shape { double side; Square(double side) { this.side = side; } } final class Rectangle extends Shape { double length, width; Rectangle(double length, double width) { this.length = length; this.width = width; } } static double calculateArea(Shape shape) { return switch (shape) { case Circle c -> Math.PI * c.radius * c.radius; case Square s -> s.side * s.side; case Rectangle r -> r.length * r.width; }; }
在此範例中:
Java 21 中 switch 的模式匹配是一項強大的功能,可增強程式碼的可讀性、簡潔性和類型安全性。透過讓您直接在 switch 語句中將值與模式進行匹配,它簡化了許多常見的編碼任務。 Java 開發人員絕對應該探索並採用此功能來編寫更乾淨、更易於維護的程式碼。
請隨意修改或擴充此部分以滿足您的需求!
以上是Java 21 中 Switch 的模式匹配的詳細內容。更多資訊請關注PHP中文網其他相關文章!