jep290涉及jdk版本
自文本块首次涉足JDK以来已经一年了。 现在,使用JDK 15, JEP 378将删除文本块的预览状态,并使它们成为Java 15的完整功能。
Java中的文本块
JEP 378是处理JDK中文本块的第三个JEP。 让我们来看看过去一年左右的文本块的历史。
JEP 355引入了文本块作为预览功能
由于JEP 355的缘故,文本块首次使用Java 13进入JDK。 文本块是“多行字符串文字,它避免了大多数转义序列的需要,以一种可预测的方式自动设置字符串的格式,并在需要时使开发人员可以控制格式。” 当最初的JEP登陆时,在社区中引起了一定的兴奋。 确实,我们精选了TimZöller的一篇名为Java 13的文章-为什么文本块值得等待 。
感谢JEP 355,文本块作为预览功能进入JDK 13,供社区试用并提供反馈。 在第一次预览中就很清楚,一些用例需要文本块进行一些更改。
JEP 368和一些重要更改
换行符和空白是在JDK 14中更改文本块的原因。用户发现,如果字符串中包含换行符,则跨越多行的字符串可能会出现问题。 Jim Laskey在JEP 368中写道:“当将字符串放在多行中时,程序的一部分可能更具可读性,但是嵌入的换行符可能会改变程序另一部分的行为。 因此,如果开发人员能够精确控制换行符出现的位置,以及相关的问题,则可以在文本“块”的左侧和右侧显示多少空白会有所帮助。
还请参见:
这就是为什么文本块的第二个预览版引入了两个新的转义序列: \<line-terminator>
和\s
。 前一个转义序列明确禁止插入换行符,而后者转译为单个空格(\ u0020),允许将其用作缓冲区,以防止删除故意包含的空格。
您可以在此处阅读有关JEP 368的更多详细信息 。
JEP 378 –准备启动文本块
还请参见:
即将发布的Java 15意味着是时候看看预览功能(如文本块)的反馈了。 这次没有任何危险信号或用例导致此功能更改,因此Jim Laskey撰写了JEP 378,建议文本块保留预览。 JEP已确认针对JDK 15,因此文本块将在9月到来时成为Java 15中的完整功能。
翻译自: https://jaxenter.com/java-jep-378-text-blocks-out-of-preview-for-jdk-15-171722.html
jep290涉及jdk版本