Java 13 提供了文本块(Text Blocks)
预览特性。该特性会方便开发者编写多行字符串。
该特性的具体介绍见 JEP 355。
注意,是预览特性
,默认不支持。
了解 Python 的同学会对这个特性比较熟悉,不过 Java 的这个特性与 Python 不完全相同。比如"""你好"""
这种不换行的写法是不支持的。
使用示例1:
public class TestMultiLineStr {
public static void main(String[] args) {
String data = """
你好
世界
""";
System.out.printf(data);
}
}
编译、执行时候,需要加上--enable-preview
参数:
$ javac --release 13 --enable-preview TestMultiLineStr.java
$ java13 --enable-preview TestMultiLineStr
你好
世界
可以看到,多行的相同空白前缀会被去掉。
使用示例2:
public class TestMultiLineStr {
public static void main(String[] args) {
String data = """
你好
世界
""";
System.out.printf(data);
}
}
运行结果:
你好
世界
使用示例3:
public class TestMultiLineStr {
public static void main(String[] args) {
String data = """
你好
世界""";
System.out.printf(data);
}
}
运行结果:
你好
世界
使用示例4:
public class TestMultiLineStr {
public static void main(String[] args) {
String data = """
你好" "
世界''
""";
System.out.printf(data);
}
}
运行结果:
你好" "
世界''
不支持的写法
String data = """你好"""; // 不支持
String data = """你好
世界
"""; // 不支持