猿问

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

Java 13 即将到来,所以我开始研究它的新特性,其中之一就是文本块。


我写了一个简单的程序


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!

我得到的是一个编译错误


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


陪伴而非守候
浏览 136回答 2
2回答

繁花如伊

文本块的上下文必须从新行开始。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!JEP 355的摘录:文本块(预览):文本块由零个或多个内容字符组成,并由开始和结束定界符括起来。起始定界符是三个双引号字符 () 的序列,"""后跟零个或多个空格,后跟行终止符。内容从起始定界符的行终止符之后的第一个字符开始。不过,您不一定必须在内容末尾放置行终止符。结束分隔符是三个双引号字符的序列。内容以结束分隔符的第一个双引号之前的最后一个字符结束。final String greeting = """    Hello    It's me, Andrew!    """;意思是HelloIt's me, Andrew!<an empty line here>

慕尼黑的夜晚无繁华

作为记录,此处给出了决定不允许立即发布内容的理由"""这样做的原因是文本块主要设计用于支持多行字符串,并且需要初始行终止符简化了缩进处理规则
随时随地看视频慕课网APP

相关分类

Java
我要回答