Language 中级

直接在模式中解构 record——一步提取字段。

✕ Java 8
if (obj instanceof Point) {
    Point p = (Point) obj;
    int x = p.getX();
    int y = p.getY();
    System.out.println(x + y);
}
✓ Java 21+
if (obj instanceof Point(int x, int y)) {
    IO.println(x + y);
}
发现此代码有问题? 告诉我们。
🎯

直接提取

无需手动调用访问器即可访问 record 组件。

🪆

可嵌套

模式可以嵌套——在单个表达式中匹配内部 record。

📏

代码紧凑

五行变两行——减少仪式感,保持清晰。

旧方式
手动访问
现代方式
解构
自 JDK
21
难度
中级
record 模式(解构)
可用

自 JDK 21 LTS 起广泛可用(2023 年 9 月)

record 模式让您在 instanceof 和 switch 模式中直接分解 record 的组件。组件在单个表达式中绑定到变量。

分享 𝕏 🦋 in