单行文本块

问题描述

是否可以使用 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

开始分隔符是一个以三个双引号字符 (""") 开头的序列,以零个或多个空格、制表符和换页符继续,并以行终止符结束。

所以你不能有一个只有一行的文本块。

,

不 - 这是不可能的,因为在 """ 运算符之后有强制换行

由于documentation

文本块以三个双引号字符开始,后跟一个行终止符。您不能将文本块放在一行上,文本块的内容也不能跟在三个开始的双引号之后而没有行终止符。这样做的原因是文本块主要设计为支持多行字符串,并且需要初始行终止符简化了缩进处理规则(请参阅下面的部分,附带空格)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...