4

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

反而。

我忽略了什么吗?

4

2 回答 2

7

不,这是不可能的,因为文本块需要换行符作为开始分隔符的一部分

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

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

于 2021-03-08T09:30:48.717 回答
6

否 - 这是不可能的,因为在操作员之后有强制性的新行"""

由于文档

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

于 2021-03-08T09:31:00.750 回答