Rumah >Java >javaTutorial >Cara menggunakan Padanan Corak untuk pemutus jenis dan pengekstrakan dalam Java 14

Cara menggunakan Padanan Corak untuk pemutus jenis dan pengekstrakan dalam Java 14

WBOY
WBOYasal
2023-08-01 16:01:16641semak imbas

Cara menggunakan Padanan Corak untuk pemutus jenis dan pengekstrakan dalam Java 14

Ciri yang sangat berkuasa diperkenalkan dalam Java 14 - Padanan Corak. Ciri ini menjadikan pertimbangan jenis lebih ringkas dan mudah, terutamanya apabila melakukan balingan dan pengekstrakan jenis. Artikel ini akan memperkenalkan cara menggunakan Padanan Corak untuk melaksanakan pemutus dan pengekstrakan jenis dalam Java 14, dan menggambarkannya melalui contoh kod.

Dalam versi Java sebelum ini, kami biasanya perlu melalui dua langkah untuk melakukan pemutus jenis dan pengekstrakan. Mula-mula, kita perlu menyemak jenis objek menggunakan kata kunci instanceof dan kemudian menukarnya kepada jenis sasaran menggunakan cast. Pendekatan ini sangat membosankan dan terdedah kepada ralat, terutamanya apabila berurusan dengan hubungan objek yang kompleks.

Padanan Corak dalam Java 14 memudahkan proses penentuan jenis dengan memperkenalkan contoh sintaks dan pemadanan corak baharu dalam penyataan suis. Mari lihat beberapa contoh untuk memahami cara menggunakannya.

Pertama, mari kita pertimbangkan contoh mudah. Katakan kita mempunyai Bentuk kelas abstrak, yang mengandungi kaedah yang dipanggil kawasan, dan kita perlu mengira kawasan berdasarkan bentuk yang berbeza. Kita boleh menentukan beberapa kelas bentuk tertentu, seperti Bulatan, Segiempat dan Segitiga.

abstract class Shape {
    abstract double area();
}

class Circle extends Shape {
    double radius;

    Circle(double radius) {
        this.radius = radius;
    }

    double area() {
        return Math.PI * radius * radius;
    }
}

class Rectangle extends Shape {
    double width;
    double height;

    Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    double area() {
        return width * height;
    }
}

class Triangle extends Shape {
    double base;
    double height;

    Triangle(double base, double height) {
        this.base = base;
        this.height = height;
    }

    double area() {
        return 0.5 * base * height;
    }
}

Dalam versi Java sebelumnya, kami sering perlu menggunakan instanceof untuk menyemak jenis bentuk tertentu dan melakukan penukaran jenis cast:

Shape shape = ...; // 初始化一个形状对象

if (shape instanceof Circle) {
    Circle circle = (Circle) shape; // 强制类型转换
    double area = circle.area();
    // 其他处理...
} else if (shape instanceof Rectangle) {
    Rectangle rectangle = (Rectangle) shape;
    double area = rectangle.area();
    // 其他处理...
} else if (shape instanceof Triangle) {
    Triangle triangle = (Triangle) shape;
    double area = triangle.area();
    // 其他处理...
}

Dalam Java 14, kami boleh menggunakan sintaks instanceof baharu untuk penulisan kod yang lebih ringkas :

Shape shape = ...; // 初始化一个形状对象

if (shape instanceof Circle circle) {
    double area = circle.area();
    // 其他处理...
} else if (shape instanceof Rectangle rectangle) {
    double area = rectangle.area();
    // 其他处理...
} else if (shape instanceof Triangle triangle) {
    double area = triangle.area();
    // 其他处理...
}

Dalam sintaks baharu ini, kami mengalihkan kod hantar ke sebelah kanan instanceof, dan bulatan pembolehubah tempatan, segi empat tepat dan segi tiga boleh digunakan terus dalam kod berikutnya. Kelebihan ini ialah kita tidak perlu mengisytiharkan pembolehubah tempatan ini secara eksplisit, yang meningkatkan kesederhanaan dan kebolehbacaan kod.

Selain pertimbangan taip dalam pernyataan bersyarat, Padanan Corak juga boleh digunakan dalam pernyataan suis. Dalam versi Java sebelumnya, kami hanya boleh menggunakan pemalar untuk pemadanan dalam kes pernyataan suis. Dalam Java 14, kita boleh menggunakan corak jenis untuk padanan. Mari lihat contoh:

Shape shape = ...; // 初始化一个形状对象

switch (shape) {
    case Circle circle -> {
        double area = circle.area();
        // 其他处理...
    }
    case Rectangle rectangle -> {
        double area = rectangle.area();
        // 其他处理...
    }
    case Triangle triangle -> {
        double area = triangle.area();
        // 其他处理...
    }
}

Dalam pernyataan suis baharu ini, kita boleh memadankan mengikut jenis bentuk dan menggunakan bulatan, segi empat tepat dan segitiga pembolehubah tempatan secara langsung dalam kod berikutnya. Dengan cara ini, kita tidak perlu berulang kali melakukan pemeriksaan jenis dan penukaran jenis paksa, yang sangat memudahkan penulisan dan penyelenggaraan kod.

Untuk meringkaskan, menggunakan Padanan Pola untuk penghantaran jenis dan pengekstrakan dalam Java 14 boleh memudahkan kod kami dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Dengan memperkenalkan contoh baharu sintaks dan padanan corak dalam penyataan suis, kami boleh menghapuskan kod berlebihan dan mengelakkan ralat penukaran jenis.

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa Padanan Corak hanya boleh digunakan dalam Java 14 dan ke atas. Dalam versi Java yang lebih lama, kita masih perlu menggunakan kaedah tradisional untuk penentuan jenis dan paksaan. Oleh itu, apabila menggunakan Padanan Corak, adalah penting untuk memastikan bahawa kod anda berjalan pada versi Java yang betul.

Saya harap artikel ini akan membantu anda memahami dan menggunakan Padanan Pola dalam Java 14. Menulis kod yang jelas dan ringkas adalah usaha setiap pengaturcara, dan Pemadanan Corak merupakan langkah besar bagi bahasa Java untuk bergerak ke arah matlamat ini.

Atas ialah kandungan terperinci Cara menggunakan Padanan Corak untuk pemutus jenis dan pengekstrakan dalam Java 14. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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