تعد مطابقة الأنماط ميزة قوية تم تقديمها في Java والتي تتيح لك تبسيط وتعزيز إمكانية قراءة التعليمات البرمجية الخاصة بك. تم تقديم مطابقة الأنماط في البداية في Java 14 على سبيل المثال لعمليات التحقق وتم توسيعها في الإصدارات اللاحقة، حيث تتيح مطابقة الأنماط تعليمات برمجية أكثر تعبيرًا وإيجازًا عن طريق تقليل النمط المعياري.
تتيح لك مطابقة الأنماط استخراج المكونات من الكائنات وتطبيق شروط معينة بطريقة موجزة. إنها ميزة تتحقق من القيمة مقابل النمط، وإذا كانت المطابقة ناجحة، فإنها تربط المتغيرات من النمط.
أحد الاستخدامات الأكثر شيوعًا لمطابقة الأنماط هو استخدام مثيل عامل التشغيل. إليك مثال:
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"); } } }
في هذا المثال، لا يقوم عامل التشغيل بالتحقق مما إذا كان 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); } }
في هذا المثال، يستخدم تعبير التبديل مطابقة النمط لتدمير كائنات الشكل واستخراج البيانات ذات الصلة.
توفر مطابقة الأنماط في Java مستوى جديدًا من التعبير والبساطة في التعليمات البرمجية الخاصة بك. من خلال تقليل النمط المعياري وتحسين إمكانية القراءة، فإنه يسمح لك بكتابة برامج أكثر وضوحًا وأكثر قابلية للصيانة. سواء كنت تعمل مع هياكل بيانات معقدة أو تحاول ببساطة تبسيط عمليات التحقق من النوع، فإن مطابقة الأنماط هي أداة قيمة في مجموعة أدوات Java الخاصة بك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3