패턴 일치는 코드를 단순화하고 가독성을 향상시킬 수 있는 Java에 도입된 강력한 기능입니다. 처음에는 검사 인스턴스를 위해 Java 14에 도입되었고 이후 버전에서 확장된 패턴 일치를 사용하면 상용구를 줄여 코드를 더욱 표현력 있고 간결하게 만들 수 있습니다.
패턴 매칭을 사용하면 객체에서 구성 요소를 추출하고 특정 조건을 간결하게 적용할 수 있습니다. 패턴과 비교하여 값을 확인하고, 일치에 성공하면 패턴에서 변수를 바인딩하는 기능입니다.
패턴 일치의 가장 일반적인 용도 중 하나는 instanceof 연산자를 사용하는 것입니다. 예는 다음과 같습니다.
public class PatternMatchingExample { public static void main(String[] args) { Object obj = "Hello, World!"; if (obj instanceof String s) { System.out.println("The string is: " + s); } else { System.out.println("Not a string"); } } }
이 예에서 instanceof 연산자는 obj가 문자열인지 확인할 뿐만 아니라 이를 문자열로 변환하고 단일 단계로 변수 s에 바인딩합니다.
패턴 일치는 스위치 표현식에도 사용되어 강력함과 유연성을 향상시킵니다. 다음은 봉인 클래스를 사용하는 예입니다.
public sealed class Shape permits Circle, Rectangle, Square {} public final class Circle extends Shape { private final double radius; public Circle(double radius) { this.radius = radius; } public double radius() { return radius; } } public final class Rectangle extends Shape { private final double width, height; public Rectangle(double width, double height) { this.width = width; this.height = height; } public double width() { return width; } public double height() { return height; } } public final class Square extends Shape { private final double side; public Square(double side) { this.side = side; } public double side() { return side; } } public class PatternMatchingWithSwitch { public static void main(String[] args) { Shape shape = new Circle(5); String result = switch (shape) { case Circle c -> "Circle with radius " + c.radius(); case Rectangle r -> "Rectangle with width " + r.width() + " and height " + r.height(); case Square s -> "Square with side " + s.side(); }; System.out.println(result); } }
이 예에서 스위치 표현식은 패턴 일치를 사용하여 Shape 객체의 구조를 해제하고 관련 데이터를 추출합니다.
Java의 패턴 일치는 코드에 새로운 수준의 표현력과 단순성을 제공합니다. 상용구를 줄이고 가독성을 높임으로써 더 깔끔하고 유지 관리하기 쉬운 프로그램을 작성할 수 있습니다. 복잡한 데이터 구조로 작업하거나 단순히 유형 검사를 간소화하려는 경우 패턴 일치는 Java 툴킷의 귀중한 도구입니다.
위 내용은 Java의 패턴 일치 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!