"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Comprender la coincidencia de patrones en Java

Comprender la coincidencia de patrones en Java

Publicado el 2024-07-31
Navegar:600

Understanding Pattern Matching in Java

La coincidencia de patrones es una poderosa característica introducida en Java que le permite simplificar y mejorar la legibilidad de su código. Introducida inicialmente en Java 14, por ejemplo para las comprobaciones, y ampliada en versiones posteriores, la coincidencia de patrones permite un código más expresivo y conciso al reducir el texto repetitivo.

¿Qué es la coincidencia de patrones?

La coincidencia de patrones le permite extraer componentes de objetos y aplicar ciertas condiciones de manera concisa. Es una característica que compara un valor con un patrón y, si la coincidencia es exitosa, vincula las variables del patrón.

Beneficios de la combinación de patrones

  1. Código conciso: Reduce el código repetitivo, haciendo que tus programas sean más cortos y fáciles de leer.
  2. Legibilidad mejorada: mejora la claridad de su código al hacer que la estructura sea más evidente.
  3. Seguridad de tipos: garantiza que las variables se escriban correctamente, lo que reduce la probabilidad de errores de tiempo de ejecución.

Coincidencia de patrones con instancia de

Uno de los usos más comunes de la coincidencia de patrones es con el operador instancia de. Aquí tienes un ejemplo:

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");
        }
    }
}

En este ejemplo, el operador instancia de no solo verifica si obj es una cadena, sino que también lo convierte en una cadena y lo vincula a la variable s en un solo paso.

Coincidencia de patrones con expresiones de cambio

La coincidencia de patrones también se utiliza con expresiones de cambio, mejorando su potencia y flexibilidad. Aquí hay un ejemplo usando clases selladas:

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);
    }
}

En este ejemplo, la expresión de cambio utiliza la coincidencia de patrones para desestructurar los objetos de forma y extraer datos relevantes.

Conclusión

La coincidencia de patrones en Java aporta un nuevo nivel de expresividad y simplicidad a su código. Al reducir el texto repetitivo y mejorar la legibilidad, le permite escribir programas más limpios y fáciles de mantener. Ya sea que esté trabajando con estructuras de datos complejas o simplemente tratando de optimizar sus comprobaciones de tipos, la coincidencia de patrones es una herramienta valiosa en su kit de herramientas de Java.

Declaración de liberación Este artículo se reproduce en: https://dev.to/adaumircosta/understanding-pattern-matching-in-java-3f0k?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3