ali*_*ife 16 java string preview-feature java-13
带有"""分隔符的 Java 13 多行文本块工具正变得众所周知。
但是,我经常需要整段没有嵌入换行符的段落。
换句话说,以下代码片段:
String paragraph =
"""
aaaa bbbb cccc
dddd eeee ffff
gggg hhhh iiii
"""
System.out.println(paragraph);
Run Code Online (Sandbox Code Playgroud)
如您所料,产生以下内容:
aaaa bbbb cccc
dddd eeee ffff
gggg hhhh iiii
Run Code Online (Sandbox Code Playgroud)
...这通常非常有用。但是,就我而言,对于特别大的段落,我需要它来生成:
aaaa bbbb cccc dddd eeee ffff gggg hhhh iiii
Run Code Online (Sandbox Code Playgroud)
(....稍后处理文本流。)
有没有办法为三重引号功能建立“无换行符”参数?
Jor*_*nee 25
此功能的设计者也意识到了这一要求(参见JEP368 中的“新转义序列”)。因此,使用最新的JDK 14早期访问版本,您可以使用尾随\来转义行尾的新行:
public class Main {
public static void main(String[] args) {
String paragraph =
"""
aaaa bbbb cccc \
dddd eeee ffff \
gggg hhhh iiii \
""";
System.out.println(paragraph);
}
}
Run Code Online (Sandbox Code Playgroud)
印刷:
aaaa bbbb cccc dddd eeee ffff gggg hhhh iiii
Run Code Online (Sandbox Code Playgroud)
您可以使用String.lines自 Java-11 以来引入的:
String output = paragraph.lines().collect(Collectors.joining());
Run Code Online (Sandbox Code Playgroud)
作为补充,值得一提的是,这里是 JShell 执行两个不同代码块的屏幕截图:
| 归档时间: |
|
| 查看次数: |
1145 次 |
| 最近记录: |