当前位置: 首页 > news >正文

JDK-02 | 我为什么越来越喜欢用 Java 的 Text Blocks

这是专栏第 2 篇。
如果第一篇record是在“模型表达”上让我轻松,Text Blocks则是在“日常编码和代码审查”上让我明显省力。

我先给结论:Text Blocks不只是少写几个+,它真正解决的是多行文本在代码中的可读性、可评审性和可回归性。

一、我为什么会认真用这个特性

在 JDK 8 项目里,多行字符串通常会长这样:

  • +拼接几十行;
  • 到处是\n\"
  • 改了一个空格或换行,review 很难第一时间看出来到底改了格式还是改了语义。

这件事单看不大,但在 SQL、JSON、模板片段这种高频场景里,长期成本很高。
我自己遇到过几次线上回归,根因都不是业务逻辑,而是字符串拼接细节漏改。

二、版本信息(含 JEP)

  • JEP 355:Java 13(预览)
  • JEP 368:Java 14(第二次预览)
  • JEP 378:Java 15(正式)

如果你在 13/14 使用,需要--enable-preview
我更建议在 JDK 17/21 直接用正式能力,不走预览链路。

三、Text Blocks真正带来的变化

1. 文本“所见即所得”

多行内容可以按原始结构写在代码里,SQL 看起来像 SQL,JSON 看起来像 JSON。

2. 转义噪音显著减少

字符串不再充满\"\n,review 的注意力会回到业务内容本身。

3. 换行和缩进策略可控

它不是“随便写都对”,而是把换行/缩进规则显式化了。
你可以用stripIndent()indent()formatted()做最终收口。

四、适配场景 / 不适配场景

我会优先用在这些地方:

  • 多行 SQL、JSON、XML、HTML;
  • 测试里的预期文本、快照断言;
  • 配置片段、脚本片段、邮件模板。

我会谨慎甚至不使用在这些地方:

  • 高频动态拼接、模板结构经常变化;
  • 需要兼容 JDK 8 运行时且短期无法升级;
  • 团队没有统一“尾换行”和“缩进基线”约定的仓库。

五、从 JDK 8 升上来,我重点看这 5 件事

1) 尾部换行语义

Text Blocks

http://www.jsqmd.com/news/584432/

相关文章:

  • # 高质量数据集核心问题解析
  • 盈鹏飞T527评估板AHD摄像头实战:从硬件连接到QT界面调试全流程
  • 安装Ubuntu后安装ros一键操作
  • OpenClaw小团队协作:Phi-3-mini-128k-instruct共享技能库的搭建方法
  • Claude Code 创始人再放狠货!15 个隐藏功能曝光
  • ASTM D4169针刺棉手袋的产品有效期验证方案
  • SEO_避开常见SEO误区,让你的优化更高效
  • OpenClaw跨平台配置:Qwen2.5-VL-7B在mac与Windows的对接差异
  • 大数据可视化
  • 【第五周】关键词解释:稀疏自编码器(Sparse Autoencoder,简称 SAE)
  • 一季度书单 | 2026年,你的思维方式,该变了!
  • Bili2text:B站视频转文字终极指南,3步实现高效内容提取
  • 市场知名的光伏项目品牌找哪家
  • 第五天(实习无忧)
  • GNU C扩展特性在Linux内核中的高效应用
  • ZXPInstaller完整指南:Adobe扩展安装的终极解决方案
  • 域名 WHOIS 信息对于 SEO 优化有什么作用
  • 作业04.02
  • MySQL概述
  • 【C++八股】【欧弟求职】左值、右值、右值引用
  • 双模型协作方案:OpenClaw同时接入Phi-3-vision-128k-instruct与Qwen的配置技巧
  • 海南自由贸易港借助“.CN”域名塑造线上专属品牌形象
  • 开了一个新号...
  • 一键部署体验:星图平台OpenClaw镜像+Qwen3.5-9B-AWQ-4bit沙盒测试
  • 2026年知名的佛山极简风家具厂家对比推荐 - 品牌宣传支持者
  • MySQL的基本操作
  • OpenClaw场景合集:Qwen3-4B在10个日常任务中的高效应用
  • SEO_2024年最新SEO趋势与高效优化方法全解析
  • OpenClaw错误排查大全:Phi-3-vision-128k-instruct对接常见问题
  • 单片机驱动继电器电路设计与优化指南