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>
添加回答
舉報
0/150
提交
取消