单行文本块

SL5*_*net 4 java java-text-blocks

是否可以使用 Javas文本块功能(Java 15)但只写一行

看来我是被迫写多行了。


例如,我想在一行写是为了避免逃避"

String text = """<a href="https://sparkjava.com">https://sparkjava.com/</a>""";
Run Code Online (Sandbox Code Playgroud)

但它不能编译,我必须写

String text = """
    <a href="https://sparkjava.com">https://sparkjava.com/</a>""";
Run Code Online (Sandbox Code Playgroud)

反而。

我是否忽略了什么?

man*_*uti 7

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

开口分隔符是一个序列,其具有三个双引号字符(“”“),继续与零个或多个空格,制表符,并形成进料的字符,并用一个行结束结束启动。

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

  • 这个决定有理由吗? (3认同)

m.a*_*icz 6

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

由于文档

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