Java程序猿经常需要使用字符串定义JSON,SQL和HTML。这类信息的输出如果不通过换行和缩进整理格式,是非常不易于阅读和理解的。Java 15中的新特性“文本块(Text Blocks)”让程序员从引号和特殊字符串的泥潭里面解脱出来。
文本块(Text Blocks)是一种在Java中定义多行字符串的解决方案,旨在简化多行字符串的实现方式,并提高其可读性。它们将多行字符串的创建和处理变得更加容易、直接和灵活。文本块采用 """ 分隔符,并保留所输入文本的格式,包括嵌入的空白符。
/*
使用一对"""(注意:开始的"""需要换行,否则编译报错)
*/
String s1 = """
This is a simple
text block demo.""";
System.out.println(s1);
执行结果
This is a simple
text block demo.
/*
可以直接输出""不需要转义,可以拼接字符串
*/
String s2 = """
{
"name": 'Tom'
, "age": 16
}
""";
System.out.println(s2);
执行结果
{
"name": 'Tom'
, "age": 16
}
/*
可以直接使用\n\t等特殊字符
*/
String s3 = """
<xml>
<body>hello\nText\tBlock</body>
</xml>
""";
System.out.println(s3);
执行结果
<xml>
<body>hello
Text Block</body>
</xml>
/*
可以输出缩进
*/
String s4 = """
SELECT
*
FROM
stu
WHERE 1=1
AND age > 16
AND name = 'Tom'
""";
System.out.println(s4);
执行结果
SELECT
*
FROM
stu
WHERE 1=1
AND age > 16
AND name = 'Tom'
String s1 = "This is a simple\ntext block demo.";
System.out.println(s1);
String s2 = "{\n \"name\": 'Tom'\n , \"age\": 16\n}\n";
System.out.println(s2);
String s3 = "<xml>\n <body>hello\nText\tBlock</body>\n</xml>\n";
System.out.println(s3);
String s4 = "SELECT\n *\nFROM\n stu\nWHERE 1=1\n AND age > 16\n AND name = 'Tom'\n";
System.out.println(s4);
通过以上示例可以轻松的体会到文本块的方便之处。可以直接使用特殊字符,保留了换行和缩进,所见即所得。通过class文件返编译的结果我们可以知道文本块"""是对原有字符串表达式的封装的语法糖,方便开发,提高可读性,降低了代码出错的几率。
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。