您好,欢迎来到品趣旅游知识分享网。
搜索
您的当前位置:首页Java文本块

Java文本块

来源:品趣旅游知识分享网

在OpenJDK 上的2019年5月13日发布的“ ” ,吉姆·拉斯基宣布了一项名为“ ”的功能JEP 草案。 )。

Laskey的帖子用(我已经添加了链接),“有的打开后 , 的JEP审查”,他指的是在收盘后/开始的撤回JEP草案 [“ (预览)”]( )。 Laskey解释了对JEP草案的最新更改,“最重要的更改是重命名为Text Blocks(我相信它会随着时间推移而演变为Text Literals或只是Texts。)这主要是为了反映JEP的二维性。新文字,而字符串文字是一维的。” 此“ 原始字符串文字 ”后的JEP草案以前称为“ 多行字符串文字 ”,现在称为“ 文本块”

JEP草案“ ”提供了建议的预览功能的详细概述。 其“摘要”部分指出:

文本块添加到Java语言。 文本块是多行字符串文字,它避免了大多数转义序列的需要,以可预测的方式自动设置字符串的格式,并在需要时使开发人员可以控制格式。 这将是 。

这是对 Raw String Literals(预览)中开始的探索的后续工作。

目前列出两个“目标”,我在这里转载了前两个:

JEP草案中的“非目标”也很有趣,此处复制了两个当前的非目标:

  1. “为任何新构造所表示的字符串定义新的引用类型(与java.lang.String不同)不是目标。”
  2. “定义采用String操作数的新运算符(不同于+ )不是目标。”

的当前“说明”规定:

文本块是Java语言中一种新型的文字。 它可以在任何可以使用地方表示一个 ,但是可以提供更高的表现力和更少的意外复杂性。

文本块由零个或多个内容字符组成,并由打开和关闭定界符括起来。

描述了在开头定界符和结束定界符中使用“ 胖定界符 ”(“三个双引号字符”: === ),以标记“文本块”的开头和结尾。 如当前所建议的,文本块实际上是在具有开头定界符(可能包含空格)的行的行终止符之后的行上开始的。 文本块的内容以结束定界符之前的最后一个字符结尾。

描述了一些特殊字符的“文本块”处理。 它指出,“内容可以直接包含"字符,与字符串文字中的字符不同。 它还指出在文本块中“ \"和“ \n是“允许的,但不是必需的或不建议的”。 JEP草案的一部分显示了“格式错误的文本块”的示例。

涵盖了许多实施细节。 其中包括行终止符的“编译时处理”(“ 归一化 ”为“ LF( \u000A ”)),附带的空白(“ 附带的空白必需空白 ”的区别)以及String::indent用于自定义缩进管理)和转义序列(根据并使用String::translateEscapes进行自定义转义处理, “对内容中的任何转义序列进行解释”)。

新命名的“ Java文本块”看起来非常适合于既定的目标,当前的提案是大量工程工作的结果。 很平易近人,值得我在这里未涵盖的许多细节进行阅读。 由于这仍然是JEP草案,因此尚未提议将其作为候选JEP,并且尚未针对任何特定的Java版本。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- pqdy.cn 版权所有 赣ICP备2024042791号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务