在2018年12月宣布 将从JDK 12中删除原始字符串文字 。 现在,在新的一年中,与Java中原始字符串文字的设计有关的讨论又开始了。
在琥珀色专家OpenJDK邮件列表上的“ 原始字符串文字-重新开始讨论 ”一文中 ,Brian Goetz参考了有关从JDK 12中删除原始字符串文字预览功能的说明,并建议“重新开始设计讨论”。 Goetz总结了先前的设计讨论和决策,以及从对原始字符串文字的首次了解中吸取的教训,讨论了一些设计问题和需要进行的取舍,然后呼吁对三种特定类型的观测数据进行输入:
- “支持或反驳我们的主要用例是嵌入式JSON,HTML,XML和SQL的说法的数据。”
- “我们遗漏的用例……”
- “有关在实际代码库中使用各种类型的字符串(原始,多行等)的数据(Java或非Java)……”
吉姆·拉斯基(Jim Laskey)在相同的琥珀色专家邮件列表中张贴了两条标题为“ 增强Java字符串文字第2轮 ”的消息,并引用了HTML版和PDF版的“ RTL2”文档,该文档有助于讨论“ 取二”。原始字符串文字”。 Laskey概述了“一系列关键决策点 ,在提出新设计之前,应考虑这些问题,如果不能回答,则应予以考虑”。
重新考虑Java的原始字符串文字时要做出的一些主要决定,包括上面提到的帖子中讨论的内容,在此处列出,但帖子中包含更多决定:
- 对于开发人员而言,哪个真正更重要:“原始文本”或“多行字符串”?
- 哪个字符是大多数Java开发人员和Java用例的最佳分隔符?
- 应如何处理偶然间隔?
在amber-dev OpenJDK邮件列表上已经有了一些反馈。 Stephen Colebourne提供“ 扩展字符串文字反馈 ”,而Bruno Borges建议“ 特殊分配而不是特殊定界符” 。
在决策实施后,我经常看到开发人员抱怨某些语言和API决策。 对于那些对Java中的原始字符串文字和多行字符串主题怀有强烈兴趣的人,现在是一个机会,可以表达自己的声音,并可能影响将来某个时候将要出现在Java中的最终设计。
翻译自: https://www.javacodegeeks.com/2019/01/restarting-javas-raw-string-literals.html