问题描述
是否可以使用 Java 的文本块功能(Java 15)但只写一行?
好像是被迫写多行。
例如,我想将其写在一行中以避免转义其中的 "
String text = """<a href="https://sparkjava.com">https://sparkjava.com/</a>""";
但它不能编译,我必须写
String text = """
<a href="https://sparkjava.com">https://sparkjava.com/</a>""";
相反。
我是否忽略了什么?
解决方法
不,不可能作为文本块require a newline as part of the opening delimiter:
开始分隔符是一个以三个双引号字符 (""") 开头的序列,以零个或多个空格、制表符和换页符继续,并以行终止符结束。
所以你不能有一个只有一行的文本块。
,不 - 这是不可能的,因为在 """
运算符之后有强制换行
文本块以三个双引号字符开始,后跟一个行终止符。您不能将文本块放在一行上,文本块的内容也不能跟在三个开始的双引号之后而没有行终止符。这样做的原因是文本块主要设计为支持多行字符串,并且需要初始行终止符简化了缩进处理规则(请参阅下面的部分,附带空格)。