亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

非法文本塊開放定界符序列,缺少行終止符

非法文本塊開放定界符序列,缺少行終止符

陪伴而非守候 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 關注
  • 214 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號