
模式匹配一直是 java 中备受期待的功能,为该语言带来了更多的功能和灵活性。 java 21 引入了 switch 语句的模式匹配,这简化了代码并减少了样板文件。让我们来探讨一下这个新功能的工作原理以及它的好处。
switch 的模式匹配允许您将值与模式进行匹配,使代码更具表现力和可读性。您现在可以编写更简洁且可维护的代码,而不是使用多个 if-else 语句或复杂的 switch case。
这里有一个简单的例子来说明 switch 的模式匹配是如何工作的:
static string formatterpatternswitch(object obj) {
return switch (obj) {
case integer i -> string.format("int %d", i);
case long l -> string.format("long %d", l);
case double d -> string.format("double %f", d);
case string s -> string.format("string %s", s);
default -> obj.tostring();
};
}
在此示例中,formatterpatternswitch 接受一个 object 并根据其类型返回一个格式化字符串。以下是正在发生的事情的详细信息:
让我给出详细的示例案例:处理不同的形状
立即学习“Java免费学习笔记(深入)”;
考虑一个场景,您需要处理不同的形状并计算它们的面积。以下是 switch 的模式匹配如何简化代码:
abstract sealed class Shape permits Circle, Square, Rectangle {}
final class Circle extends Shape {
double radius;
Circle(double radius) { this.radius = radius; }
}
final class Square extends Shape {
double side;
Square(double side) { this.side = side; }
}
final class Rectangle extends Shape {
double length, width;
Rectangle(double length, double width) { this.length = length; this.width = width; }
}
static double calculateArea(Shape shape) {
return switch (shape) {
case Circle c -> Math.PI * c.radius * c.radius;
case Square s -> s.side * s.side;
case Rectangle r -> r.length * r.width;
};
}
在此示例中:
java 21 中 switch 的模式匹配是一个强大的功能,可以增强代码的可读性、简洁性和类型安全性。通过允许您直接在 switch 语句中将值与模式进行匹配,它简化了许多常见的编码任务。 java 开发人员绝对应该探索并采用此功能来编写更干净、更易于维护的代码。
请随意修改或扩展此部分以满足您的需求!
以上就是Java 21 中 Switch 的模式匹配的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号