为了账号安全,请及时绑定邮箱和手机立即绑定

非法文本块开放定界符序列,缺少行终止符

非法文本块开放定界符序列,缺少行终止符

陪伴而非守候 2023-07-19 16:10:50
Java 13 即将到来,所以我开始研究它的新特性,其中之一就是文本块。我写了一个简单的程序public final class Example {    public static void main(String[] args) {        final String greeting = """Hello        It's me, Andrew!""";        System.out.println(greeting);    }}我期待看到HelloIt's me, Andrew!我得到的是一个编译错误非法文本块开放定界符序列,缺少行终止符
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

文本块的上下文必须从新行开始。


public final class Example {

    public static void main(String[] args) {

        final String greeting = """

            Hello

            It's me, Andrew!""";

        System.out.println(greeting);

    }

}

印刷


Hello

It's me, Andrew!

JEP 355的摘录:文本块(预览):

文本块由零个或多个内容字符组成,并由开始和结束定界符括起来。

起始定界符是三个双引号字符 () 的序列,"""后跟零个或多个空格,后跟行终止符。内容从起始定界符的行终止符之后的第一个字符开始。

不过,您不一定必须在内容末尾放置行终止符。

结束分隔符是三个双引号字符的序列。内容以结束分隔符的第一个双引号之前的最后一个字符结束。

final String greeting = """

    Hello

    It's me, Andrew!

    """;

意思是


Hello

It's me, Andrew!

<an empty line here>

查看完整回答
反对 回复 2023-07-19
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

作为记录,此处给出了决定不允许立即发布内容的理由"""

这样做的原因是文本块主要设计用于支持多行字符串,并且需要初始行终止符简化了缩进处理规则


查看完整回答
反对 回复 2023-07-19
  • 2 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信