Rumah > Java > javaTutorial > Memahami Padanan Corak dalam Java

Memahami Padanan Corak dalam Java

王林
Lepaskan: 2024-07-27 09:26:12
asal
877 orang telah melayarinya

Understanding Pattern Matching in Java

Padanan corak ialah ciri berkuasa yang diperkenalkan dalam Java yang membolehkan anda memudahkan dan meningkatkan kebolehbacaan kod anda. Pada mulanya diperkenalkan dalam Java 14 sebagai contoh semakan dan dilanjutkan dalam versi kemudian, padanan corak membolehkan kod yang lebih ekspresif dan ringkas dengan mengurangkan boilerplate.

Apakah padanan Corak?

Padanan corak membolehkan anda mengekstrak komponen daripada objek dan menggunakan syarat tertentu dengan cara yang ringkas. Ia ialah ciri yang menyemak nilai terhadap corak dan, jika padanan berjaya, mengikat pembolehubah daripada corak.

Faedah Padanan Corak

  1. Kod Ringkas: Mengurangkan kod boilerplate, menjadikan program anda lebih pendek dan lebih mudah dibaca.
  2. Kebolehbacaan yang dipertingkatkan: Meningkatkan kejelasan kod anda dengan menjadikan struktur lebih jelas.
  3. Keselamatan Jenis: Memastikan pembolehubah ditaip dengan betul, mengurangkan kemungkinan ralat masa jalan.

Padanan Corak dengan instanceof

Salah satu penggunaan padanan corak yang paling biasa ialah dengan pengendali instanceof. Berikut ialah contoh:

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");
        }
    }
}
Salin selepas log masuk

Dalam contoh ini, operator instanceof bukan sahaja menyemak sama ada obj ialah String tetapi juga menghantarnya ke String dan mengikatnya kepada pembolehubah s dalam satu langkah.

Padanan Corak dengan Ungkapan Suis

Padanan corak juga digunakan dengan ekspresi suis, meningkatkan kuasa dan fleksibilitinya. Berikut ialah contoh menggunakan kelas tertutup:

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);
    }
}
Salin selepas log masuk

Dalam contoh ini, ungkapan suis menggunakan padanan corak untuk memusnahkan objek Shape dan mengekstrak data yang berkaitan.

Kesimpulan

Padanan corak dalam Java membawa tahap ekspresif dan kesederhanaan baharu kepada kod anda. Dengan mengurangkan boilerplate dan meningkatkan kebolehbacaan, ia membolehkan anda menulis program yang lebih bersih dan lebih boleh diselenggara. Sama ada anda bekerja dengan struktur data yang kompleks atau hanya cuba menyelaraskan semakan jenis anda, padanan corak ialah alat yang berharga dalam kit alat Java anda.

Atas ialah kandungan terperinci Memahami Padanan Corak dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan